Avoids creating a new ErrorStream instance for each request#245
Merged
Conversation
wch
approved these changes
Sep 30, 2019
Collaborator
|
Looks good! Can you add a NEWS item, in a new section for 1.5.2.9000? |
The Rook specification indicates only that the `rook.errors` object must have cat() and flush() methods, and since the current R6 class implementation has no internal state to mutate, we can just use a single shared instance for all requests.
8cea396 to
b1ae2f8
Compare
Contributor
Author
|
I have added a NEWS item. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
My apologies if I've misinterpreted something here, I don't really know how to "test" Rook-related functionality.
The Rook specification for the Error Stream seems to indicate only that it must have
cat()andflush()methods. I noticed that the current R6 class implementation has no internal state to mutate, and yet a new instance is created for each request. This struck me as avoidable.This PR simply creates a single instance that can be reused by all requests. The change should improve performance; my "hello, world" example is showing a 20% increase in throughput.
I did not add a note to theNEWS.mdfile, but my suggestion would be> Avoid creating a new Rook error stream object for each request.