GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — process: improve performance of nextTick by evanlucas · Pull Request #8932 · nodejs/node

Conversation

@evanlucas

@evanlucas evanlucas commented Oct 4, 2016

Copy link
Copy Markdown
Contributor
Checklist
  • make -j8 test (UNIX), or vcbuild test nosign (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

process

Description of change

This replaces TickObject with an object literal. This offers
performance improvements of up to ~20%.

Results from a few benchmark runs:

                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2      9.46 %         *** 1.602162e-15
 process/next-tick-breadth.js millions=2          17.76 %         *** 6.210386e-25
 process/next-tick-depth-args.js millions=2        3.19 %         *** 8.427012e-05
 process/next-tick-depth.js millions=2             1.35 %             5.028960e-02
                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2      9.30 %         *** 1.815388e-20
 process/next-tick-breadth.js millions=2          18.25 %         *** 1.806162e-22
 process/next-tick-depth-args.js millions=2        1.57 %             8.013786e-02
 process/next-tick-depth.js millions=2             1.98 %           * 2.573876e-02
                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2      8.56 %         *** 1.609244e-18
 process/next-tick-breadth.js millions=2          19.44 %         *** 1.270555e-25
 process/next-tick-depth-args.js millions=2        2.52 %          ** 2.739874e-03
 process/next-tick-depth.js millions=2             2.11 %          ** 1.289425e-03

/cc @trevnorris since you added TickObject

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@evanlucas evanlucas added process Issues and PRs related to the process subsystem. performance Issues and PRs related to the performance of Node.js. labels Oct 4, 2016
@Fishrock123

Fishrock123 commented Oct 4, 2016

Copy link
Copy Markdown
Contributor

Interesting, there is a few places we moved to constructors for previous optimizations, perhaps we should be moving away now?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 4, 2016

Copy link
Copy Markdown
Contributor Author

@Fishrock123 possibly. Hopefully, I'll be digging some other areas as well this week. I was planning on looking at immediates next, so I'll probably have some questions for you :]

I also need to test on v6.x and see if there are any differences since we updated to V8 5.1

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

claudiorodriguez
claudiorodriguez reviewed Oct 5, 2016
View reviewed changes
Comment thread lib/internal/process/next_tick.js Outdated

@claudiorodriguez claudiorodriguez Oct 5, 2016

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, is there a particular reason not to go

nextTickQueue.push({
  args,
  callback,
  domain: process.domain || null
});

?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@evanlucas evanlucas Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just find it less readable than the way it currently is.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@Fishrock123 Fishrock123 Oct 5, 2016

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer what @claudiorodriguez suggested

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@evanlucas evanlucas Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ack

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@Fishrock123 Fishrock123 Oct 5, 2016

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assuming it does not alter perf that is

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@evanlucas evanlucas Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it doesn't appear to make a difference. Just ran again using shorthand and the numbers are more or less the same. :]

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@AndreasMadsen

AndreasMadsen commented Oct 5, 2016 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Great work. Nice to see that you are using the new benchmarking tool. However you shouldn't do many independent compare.js runs. If you want more certainty just increase the --runs parameter in compare.js. This is not just for convenience, it's also important from a statistical perspective.

For each comparison you do, there is by default a 5% risk that we see a significant result when there in reality no improvement. By doing 3 runs you increase that risk to 3 * 5% = 15% (mathematical inaccurate). On top of this you are doing 4 comparisons with different parameters (nothing wrong here), which increases that risk even more, but that is another story.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

@AndreasMadsen thanks for the info. I ran the bench again once with 100 runs this time and got very similar results:

                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2      9.09 %         *** 1.623609e-39
 process/next-tick-breadth.js millions=2          18.32 %         *** 9.868966e-75
 process/next-tick-depth-args.js millions=2        2.55 %         *** 3.923716e-07
 process/next-tick-depth.js millions=2             2.03 %         *** 1.231088e-06

Should I be doing these runs once for each benchmark script?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@claudiorodriguez

claudiorodriguez commented Oct 5, 2016

Copy link
Copy Markdown
Contributor

CI: https://ci.nodejs.org/job/node-test-pull-request/4393/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

claudiorodriguez
claudiorodriguez approved these changes Oct 5, 2016
View reviewed changes

@claudiorodriguez claudiorodriguez left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Fishrock123

Fishrock123 commented Oct 5, 2016

Copy link
Copy Markdown
Contributor

I'd like to see some info on what branches this can effectively go to before we land it though :)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

@Fishrock123 yea, am going to bench on v6.x now

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jbergstroem

jbergstroem commented Oct 5, 2016

Copy link
Copy Markdown
Member

(pending checks are a bug -- i need to cover skipped status)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

results for v6.x:

                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2     15.16 %         *** 3.828618e-92
 process/next-tick-breadth.js millions=2          10.47 %         *** 2.817494e-51
 process/next-tick-depth-args.js millions=2        1.38 %         *** 6.977638e-04
 process/next-tick-depth.js millions=2             1.73 %         *** 6.359614e-04
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

silverwind
silverwind approved these changes Oct 5, 2016
View reviewed changes
@AndreasMadsen

AndreasMadsen commented Oct 5, 2016

Copy link
Copy Markdown
Member

@evanlucas Should I be doing these runs once for each benchmark script?

Not sure what you mean. But it looks like you did it correctly 👍

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

imyller
imyller approved these changes Oct 5, 2016
View reviewed changes

@imyller imyller left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@imyller

imyller commented Oct 5, 2016

Copy link
Copy Markdown
Member

Oh, what I meant to say is LATM. Looks Awesome To Me.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jbergstroem

jbergstroem commented Oct 5, 2016

Copy link
Copy Markdown
Member

LGTM

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 5, 2016

Copy link
Copy Markdown
Contributor Author

Running CI one more time since I updated it: https://ci.nodejs.org/job/node-test-pull-request/4403/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

lpinca
lpinca approved these changes Oct 6, 2016
View reviewed changes

@lpinca lpinca left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@trevnorris

trevnorris commented Oct 6, 2016

Copy link
Copy Markdown
Contributor

LGTM. Though we shouldn't put much on the breadth tests. 99% of the time the nextTickQueue array has fewer than 5 callbacks when processed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jasnell
jasnell approved these changes Oct 6, 2016
View reviewed changes

@jasnell jasnell left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@evanlucas

evanlucas commented Oct 10, 2016

Copy link
Copy Markdown
Contributor Author

I am going to benchmark on v4.x tonight to see if it is even worth it there as well.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Oct 11, 2016

Copy link
Copy Markdown
Contributor Author

So, for v4, I had to use the old benchmarks. It doesn't seem to make as much of a difference as on v6.

running ./node_after_v4
process/next-tick-breadth-args.js
process/next-tick-breadth.js
process/next-tick-depth-args.js
process/next-tick-depth.js
running ./node_before_v4
process/next-tick-breadth-args.js
process/next-tick-breadth.js
process/next-tick-depth-args.js
process/next-tick-depth.js

process/next-tick-breadth-args.js millions=2: ./node_after_v4: 1.9412 ./node_before_v4: 1.7772 . 9.23%
process/next-tick-breadth.js millions=2: ./node_after_v4: 3.1019 ./node_before_v4: 3.1364 ..... -1.10%
process/next-tick-depth-args.js millions=2: ./node_after_v4: 10.658 ./node_before_v4: 10.308 ... 3.40%
process/next-tick-depth.js millions=2: ./node_after_v4: 18.469 ./node_before_v4: 18.68 ........ -1.13%

so, we can probably just not backport this to v4.x

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas
evanlucas force-pushed the nexttickperf branch from 79c679d to fc514fd Compare October 11, 2016 12:53
@AndreasMadsen

AndreasMadsen commented Oct 11, 2016

Copy link
Copy Markdown
Member

@evanlucas you are supposed to be able to use the new benchmarking suite on old node versions. The process is:

git checkout upstream/v4.x-staging # or similar branch
make -j8
cp ./node ./node-v4

apply-pr 8932 # fix the file missing conflict
make -j8
cp ./node ./node-v4-pr8932

git checkout master
make -j4 # or just use your globally installed version

./node ./benchmark/compare.js \
  --old ./node-v4 --new ./node-v4-pr8932 \
  --filter next-tick -- process | tee results.csv
cat results.csv | Rscript ./benchmark/compare.R

Unfortunately some new syntax has sneaked into common.js. Replacing ...args with args = Array.prototype.slice.call(arguments, 1); fixes it (easy first contribution anyone!).

This gives the result (30 runs):

                                              improvement significant      p.value
 process/next-tick-breadth-args.js millions=2     12.60 %         *** 4.418516e-28
 process/next-tick-breadth.js millions=2           4.47 %         *** 5.463876e-06
 process/next-tick-depth-args.js millions=2       -1.01 %             4.254800e-01
 process/next-tick-depth.js millions=2             3.30 %           * 2.142562e-02
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@AndreasMadsen AndreasMadsen mentioned this pull request Oct 12, 2016
Benchmark fixes #9064
Closed
2 tasks done
@evanlucas
process: improve performance of nextTick
804d57d
This replaces TickObject with an object literal. This offers
performance improvements of up to ~20%.

PR-URL: nodejs#8932
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
@evanlucas
evanlucas force-pushed the nexttickperf branch from fc514fd to 804d57d Compare October 13, 2016 17:17
@evanlucas evanlucas closed this Oct 13, 2016
@evanlucas
evanlucas deleted the nexttickperf branch October 13, 2016 17:18
@evanlucas

evanlucas commented Oct 13, 2016

Copy link
Copy Markdown
Contributor Author

Landed in 804d57d. Thanks!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas evanlucas added the lts-watch-v4.x label Oct 13, 2016
@evanlucas
evanlucas merged commit 804d57d into nodejs:master Oct 13, 2016
jasnell pushed a commit that referenced this pull request Oct 14, 2016
@evanlucas @jasnell
process: improve performance of nextTick
aedb72e
This replaces TickObject with an object literal. This offers
performance improvements of up to ~20%.

PR-URL: #8932
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
jasnell pushed a commit that referenced this pull request Oct 17, 2016
@AndreasMadsen @jasnell
benchmark: use node v4 syntax in common.js
8a0b7ff
Using new syntax such as `...args` means that the benchmark suite can't
be used with older node versions. This changes the `...args` syntax to a
good old `Array.prototype.slice`.

Refs: #8932 (comment)
PR-URL: #9064
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Brian White <[email protected]>
jasnell pushed a commit that referenced this pull request Oct 17, 2016
@AndreasMadsen @jasnell
benchmark: use node v4 syntax in common.js
06f3747
Using new syntax such as `...args` means that the benchmark suite can't
be used with older node versions. This changes the `...args` syntax to a
good old `Array.prototype.slice`.

Refs: #8932 (comment)
PR-URL: #9064
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Brian White <[email protected]>
@MylesBorins MylesBorins added the lts-watch-v6.x label Nov 11, 2016
@MylesBorins

MylesBorins commented Nov 11, 2016

Copy link
Copy Markdown
Contributor

@evanlucas how long should we be letting this live on v7 before backporting?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@evanlucas

evanlucas commented Nov 11, 2016

Copy link
Copy Markdown
Contributor Author

It's a pretty small change so it doesn't really matter to me. I think it should be fine to get in to the next v6.x release if no one objects

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@MylesBorins MylesBorins added dont-land-on-v4.x and removed lts-watch-v4.x labels Dec 21, 2016
@MylesBorins

MylesBorins commented Dec 21, 2016

Copy link
Copy Markdown
Contributor

This does not land cleanly in LTS v4.x. Added dont-land label. Please feel free to manually backport

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

MylesBorins pushed a commit that referenced this pull request Dec 21, 2016
@evanlucas @MylesBorins
process: improve performance of nextTick
db10e94
This replaces TickObject with an object literal. This offers
performance improvements of up to ~20%.

PR-URL: #8932
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
MylesBorins pushed a commit that referenced this pull request Dec 21, 2016
@evanlucas @MylesBorins
process: improve performance of nextTick
40d3661
This replaces TickObject with an object literal. This offers
performance improvements of up to ~20%.

PR-URL: #8932
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Ilkka Myller <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
@MylesBorins MylesBorins mentioned this pull request Dec 21, 2016
V6.9.3 proposal #10394
Merged
@evanlucas evanlucas mentioned this pull request Dec 23, 2016
process: improve performance of nextTick (v4.x backport) #10433
Closed
2 tasks done
@evanlucas

evanlucas commented Dec 23, 2016

Copy link
Copy Markdown
Contributor Author

Backport for v4.x can be found at #10433. Thanks!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

MylesBorins added a commit that referenced this pull request Jan 3, 2017
@MylesBorins
2017-01-03, Version 6.9.3 'Boron' (LTS) Release
42149d7
This LTS release comes with 312 commits. This includes 229 that are
test related, 62 that are docs related, 17 which are build / tools
related, and 4 commits which are updates to dependencies.

Notable Changes:

* build:
  - shared library support is now working for AIX builds
    (Stewart Addison) #9675
* deps:
    - *npm*: upgrade npm to 3.10.10 (Rebecca Turner)
             #9847
    - *V8*: Destructuring of arrow function arguments via computed
            property no longer throws (Michaël Zasso)
            #10386)
* inspector:
  - /json/version returns object, not an object wrapped in an array
    (Ben Noordhuis) #9762
* module:
  - using --debug-brk and --eval together now works as expected
    (Kelvin Jin) #8876
* process:
  - improve performance of nextTick up to 20% (Evan Lucas)
    #8932
* repl:
    - the division operator will no longer be accidentally parsed as
      regex (Teddy Katz) #10103
    - improved support for generator functions (Teddy Katz)
      #9852
* timers:
  - Re canceling a cancelled timers will no longer throw
    (Jeremiah Senkpiel) #9685

PR-URL: #10394
MylesBorins added a commit that referenced this pull request Jan 3, 2017
@MylesBorins
2017-01-03, Version 6.9.3 'Boron' (LTS) Release
2bf1c24
This LTS release comes with 312 commits. This includes 229 that are
test related, 62 that are docs related, 17 which are build / tools
related, and 4 commits which are updates to dependencies.

Notable Changes:

* build:
  - shared library support is now working for AIX builds
    (Stewart Addison) #9675
* deps:
    - *npm*: upgrade npm to 3.10.10 (Rebecca Turner)
             #9847
    - *V8*: Destructuring of arrow function arguments via computed
            property no longer throws (Michaël Zasso)
            #10386)
* inspector:
  - /json/version returns object, not an object wrapped in an array
    (Ben Noordhuis) #9762
* module:
  - using --debug-brk and --eval together now works as expected
    (Kelvin Jin) #8876
* process:
  - improve performance of nextTick up to 20% (Evan Lucas)
    #8932
* repl:
    - the division operator will no longer be accidentally parsed as
      regex (Teddy Katz) #10103
    - improved support for generator functions (Teddy Katz)
      #9852
* timers:
  - Re canceling a cancelled timers will no longer throw
    (Jeremiah Senkpiel) #9685

PR-URL: #10394
imyller added a commit to imyller/meta-nodejs that referenced this pull request Mar 2, 2017
@imyller
2017-01-03, Version 6.9.3 'Boron' (LTS) Release
96fa035
    This LTS release comes with 312 commits. This includes 229 that are
    test related, 62 that are docs related, 17 which are build / tools
    related, and 4 commits which are updates to dependencies.

    Notable Changes:

    * build:
      - shared library support is now working for AIX builds
        (Stewart Addison) nodejs/node#9675
    * deps:
        - *npm*: upgrade npm to 3.10.10 (Rebecca Turner)
                 nodejs/node#9847
        - *V8*: Destructuring of arrow function arguments via computed
                property no longer throws (Michaël Zasso)
                nodejs/node#10386)
    * inspector:
      - /json/version returns object, not an object wrapped in an array
        (Ben Noordhuis) nodejs/node#9762
    * module:
      - using --debug-brk and --eval together now works as expected
        (Kelvin Jin) nodejs/node#8876
    * process:
      - improve performance of nextTick up to 20% (Evan Lucas)
        nodejs/node#8932
    * repl:
        - the division operator will no longer be accidentally parsed as
          regex (Teddy Katz) nodejs/node#10103
        - improved support for generator functions (Teddy Katz)
          nodejs/node#9852
    * timers:
      - Re canceling a cancelled timers will no longer throw
        (Jeremiah Senkpiel) nodejs/node#9685

    PR-URL: nodejs/node#10394

Signed-off-by: Ilkka Myller <[email protected]>
imyller added a commit to imyller/meta-nodejs that referenced this pull request Mar 2, 2017
@imyller
2017-01-03, Version 6.9.3 'Boron' (LTS) Release
0a82bea
    This LTS release comes with 312 commits. This includes 229 that are
    test related, 62 that are docs related, 17 which are build / tools
    related, and 4 commits which are updates to dependencies.

    Notable Changes:

    * build:
      - shared library support is now working for AIX builds
        (Stewart Addison) nodejs/node#9675
    * deps:
        - *npm*: upgrade npm to 3.10.10 (Rebecca Turner)
                 nodejs/node#9847
        - *V8*: Destructuring of arrow function arguments via computed
                property no longer throws (Michaël Zasso)
                nodejs/node#10386)
    * inspector:
      - /json/version returns object, not an object wrapped in an array
        (Ben Noordhuis) nodejs/node#9762
    * module:
      - using --debug-brk and --eval together now works as expected
        (Kelvin Jin) nodejs/node#8876
    * process:
      - improve performance of nextTick up to 20% (Evan Lucas)
        nodejs/node#8932
    * repl:
        - the division operator will no longer be accidentally parsed as
          regex (Teddy Katz) nodejs/node#10103
        - improved support for generator functions (Teddy Katz)
          nodejs/node#9852
    * timers:
      - Re canceling a cancelled timers will no longer throw
        (Jeremiah Senkpiel) nodejs/node#9685

    PR-URL: nodejs/node#10394

Signed-off-by: Ilkka Myller <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@jasnell jasnell jasnell approved these changes
@lpinca lpinca lpinca approved these changes
+4 more reviewers
@Fishrock123 Fishrock123 Fishrock123 left review comments
@silverwind silverwind silverwind approved these changes
@imyller imyller imyller approved these changes
@claudiorodriguez claudiorodriguez claudiorodriguez approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

performance Issues and PRs related to the performance of Node.js. process Issues and PRs related to the process subsystem.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

11 participants

@evanlucas @Fishrock123 @AndreasMadsen @claudiorodriguez @jbergstroem @imyller @trevnorris @MylesBorins @silverwind @jasnell @lpinca
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.