Uh oh!
There was an error while loading. Please reload this page.
timers: improve setImmediate() performance - #8655
Conversation
There was a problem hiding this comment.
Changed to ptr. Is that sufficient?
There was a problem hiding this comment.
why not just keep it as immediate?
5f4c590 to
a284f41Comparemscdex
commented
Sep 19, 2016
a284f41 to
dcc9fe0CompareI've now tweaked a few of the functions used by |
mscdex
commented
Sep 19, 2016
There was a problem hiding this comment.
uid and reason not defined here.
dcc9fe0 to
e66340aComparemscdex
commented
Sep 20, 2016
CI again again: https://ci.nodejs.org/job/node-test-pull-request/4143/ |
There was a problem hiding this comment.
To allow for more inlining. emitPendingUnhandledRejections() is used by setImmediate().
jasnell
commented
Sep 27, 2016
ping @Fishrock123 ... does this LGTY? |
Fishrock123
left a comment
There was a problem hiding this comment.
Functionality LGTM, I'd like some commenting around the new linkedlist stuff personally, I find them notoriously hard to read / understand and I doubt I am alone.
OK otherwise if CI passes.
There was a problem hiding this comment.
a comment would be helpful
There was a problem hiding this comment.
What did you have in mind? To me it's self-explanatory, it's effectively clearing the linked list.
There was a problem hiding this comment.
I know what it does, I think it just may look strange to someone else encountering it.
There was a problem hiding this comment.
I probably should specify: comments on how these two modify their respective properties
e66340a to
67f1a2aComparemscdex
commented
Sep 29, 2016
@Fishrock123 Comments added, let me know if they are sufficient. |
mscdex
commented
Oct 5, 2016
ping @Fishrock123 |
CI before landing: https://ci.nodejs.org/job/node-test-pull-request/4389/ EDIT: checking again after rebasing just to be sure flakiness is unrelated: https://ci.nodejs.org/job/node-test-commit/5451/ |
67f1a2a to
1bb9048CompareThis commit avoids re-creating a new immediate queue object every time the immediate queue is processed. Additionally, a few functions are tweaked to make them inlineable. These changes give ~6-7% boost in setImmediate() performance in the existing setImmediate() benchmarks. PR-URL: nodejs#8655 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
1bb9048 to
0ed8839CompareThis commit avoids re-creating a new immediate queue object every time the immediate queue is processed. Additionally, a few functions are tweaked to make them inlineable. These changes give ~6-7% boost in setImmediate() performance in the existing setImmediate() benchmarks. PR-URL: #8655 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
MylesBorins
commented
Oct 6, 2016
adding to lts watch but unsure if this should land. Will definitely need time to sit in a release for a while /cc @mscdex |
This commit avoids re-creating a new immediate queue object every time the immediate queue is processed. Additionally, a few functions are tweaked to make them inlineable. These changes give ~6-7% boost in setImmediate() performance in the existing setImmediate() benchmarks. PR-URL: #8655 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Conflicts: lib/internal/process/promises.js
ErisDS
commented
Oct 13, 2016
Hey there! We started having test failures due to this change. There's more information on the issue & PR linked just above this comment. To pull some of that here:
We have a temporary fix in place in the PR, that reduces the timeout and this appears to work (the tests pass). Would love a little bit of input into how this change has impacted the functionality and whether we've found a bug or are doing something wrong :) |
MylesBorins
commented
Oct 13, 2016
/cc @nodejs/ctc |
Trott
commented
Oct 13, 2016
@ErisDS I don't suppose you have a minimal test that could be used to demonstrate the immediate running in v6.7.0 and not running in v6.8.0, do you? I'm guessing not because you probably would have mentioned it, but I'm having trouble replicating the problem, probably because I am Doing Something Wrong. |
kirrg001
commented
Oct 13, 2016
@Trott i will provide an example file asap |
|
Moving to a new issue so we can help you better: #9084 please put all comments in that thread rather than here |
Checklist
make -j4 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
Description of change
This commit avoids re-creating a new immediate queue object every time the immediate queue is processed. Additionally, a few functions are tweaked to make them inlineable.
These changes result in ~6-7% improvement in the existing
setImmediate()benchmarks and should help reduce GC work.