Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add benchmark to compare strict vs streamed response types #2644

Merged
merged 2 commits into from Aug 20, 2019

Conversation

@jrudolph
Copy link
Member

@jrudolph jrudolph commented Aug 14, 2019

Currently, it seems streamed response are ~1 order of magnitude slower at least. I guess some of that is somewhat expected as streaming is a memory optimization and not a performance optimization. Might still make sense to optimize if there are any low-hanging fruit. Also the benchmark will be used to look out for regressions.

jrudolph added 2 commits Aug 14, 2019
@akka-ci
Copy link

@akka-ci akka-ci commented Aug 14, 2019

Test PASSed.

@raboof
raboof approved these changes Aug 16, 2019
Copy link
Member

@raboof raboof left a comment

Neat benchmark, was that tryPull change intentional here?

@@ -373,7 +373,7 @@ private[http] object HttpServerBluePrint {
val shape = new BidiShape(requestParsingIn, requestPrepOut, httpResponseIn, responseCtxOut)

def createLogic(effectiveAttributes: Attributes) = new GraphStageLogic(shape) {
val pullHttpResponseIn = () => pull(httpResponseIn)
val pullHttpResponseIn = () => tryPull(httpResponseIn)

This comment has been minimized.

@raboof

raboof Aug 16, 2019
Member

Was this intended/needed?

This comment has been minimized.

@jrudolph

jrudolph Aug 20, 2019
Author Member

It's needed. It failed for the benchmark which doesn't use the full pipeline and probably triggers different race conditions on closing.

@jrudolph jrudolph merged commit b0219c6 into akka:master Aug 20, 2019
4 checks passed
4 checks passed
Jenkins PR Auto-Formatter Successful
Details
Jenkins PR Validation Test PASSed. 4165 tests run, 1074 skipped, 0 failed.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
typesafe-cla-validator All users have signed the CLA
Details
@jrudolph jrudolph deleted the jrudolph:jr/fix-performance-regression branch Aug 20, 2019
@jrudolph jrudolph added this to the 10.1.10 milestone Aug 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.