refactor: optimise object creation & remove spread #265
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.
This came up during a recent profiling session: there's a hotspot here, using the spread operator to create a new object.
With server processing an n2k file with the server with
"noThrottle": true
for thesimple
stream configuration, multiplexed file playback the baseline throughput was 35k deltas/s and with small change it jumped to 45k deltas/s, so not an insignificant change.I have not looked into any deeper: does this really need to construct a new object? Or can it just modify the incoming object? All tests pass, but I am really no expert with this codebase, so please have a deeper look.