Skip to content

Conversation

@clue
Copy link
Member

@clue clue commented Dec 31, 2017

This PR avoids wrapping the return value from the next request handler in another promise. The request handler will either return a promise or a value that can be consumed directly. When running example 99 with included benchmarking instructions, this simple change improves performance from ~2600 req/s to ~2700 req/s on my local machine. Also, running the (very synthetic) tests/benchmark-middleware-runner.php improved from ~2s to ~1.7s on my local machine.

There's potential for a BC break here, but given the lack of documentation for the old behavior and its surprising semantics (see #287), I do not consider this to be a BC break. Instead, this PR now adds documentation for consuming the response from the next middleware request handler function to avoid any future BC breaks.

Builds on top of #293
Supersedes / closes #287

@clue clue added this to the v0.8.1 milestone Dec 31, 2017
@jsor jsor merged commit e38a527 into reactphp:master Jan 4, 2018
@clue clue deleted the happy-middleware branch January 4, 2018 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants