diff options
author | Brian White <mscdex@mscdex.net> | 2015-05-01 14:08:02 -0400 |
---|---|---|
committer | Brian White <mscdex@mscdex.net> | 2015-05-01 21:27:34 -0400 |
commit | c7782c0af8a4e4ee26da6e44e07c3987d9d3ddb6 (patch) | |
tree | c34ab5332254a02afdfa73476c5ce742da981dca /test | |
parent | ea5195ccaf6d51262c9089c2ec5c6f5634bc12b5 (diff) | |
download | nodejs-c7782c0af8a4e4ee26da6e44e07c3987d9d3ddb6.tar.gz nodejs-c7782c0af8a4e4ee26da6e44e07c3987d9d3ddb6.tar.bz2 nodejs-c7782c0af8a4e4ee26da6e44e07c3987d9d3ddb6.zip |
node: improve nextTick performance
This commit uses separate functions to isolate deopts caused by
try-catches and avoids fn.apply() for callbacks with small numbers
of arguments.
These changes improve performance by ~1-40% in the various
nextTick benchmarks.
PR-URL: https://github.com/iojs/io.js/pull/1571
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/message/nexttick_throw.out | 1 | ||||
-rw-r--r-- | test/message/stdin_messages.out | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/test/message/nexttick_throw.out b/test/message/nexttick_throw.out index baced2ce8..1dd60694a 100644 --- a/test/message/nexttick_throw.out +++ b/test/message/nexttick_throw.out @@ -4,6 +4,7 @@ ^ ReferenceError: undefined_reference_error_maker is not defined at *test*message*nexttick_throw.js:*:* + at doNTCallback0 (node.js:*:*) at process._tickCallback (node.js:*:*) at Function.Module.runMain (module.js:*:*) at startup (node.js:*:*) diff --git a/test/message/stdin_messages.out b/test/message/stdin_messages.out index cbdc1fdb1..92d09a0a1 100644 --- a/test/message/stdin_messages.out +++ b/test/message/stdin_messages.out @@ -12,6 +12,7 @@ SyntaxError: Strict mode code may not include a with statement at emitNone (events.js:*:*) at Socket.emit (events.js:*:*) at endReadableNT (_stream_readable.js:*:*) + at doNTCallback2 (node.js:*:*) at process._tickCallback (node.js:*:*) 42 42 @@ -29,7 +30,7 @@ Error: hello at emitNone (events.js:*:*) at Socket.emit (events.js:*:*) at endReadableNT (_stream_readable.js:*:*) - at process._tickCallback (node.js:*:*) + at doNTCallback2 (node.js:*:*) [stdin]:1 throw new Error("hello") @@ -44,7 +45,7 @@ Error: hello at emitNone (events.js:*:*) at Socket.emit (events.js:*:*) at endReadableNT (_stream_readable.js:*:*) - at process._tickCallback (node.js:*:*) + at doNTCallback2 (node.js:*:*) 100 [stdin]:1 @@ -60,7 +61,7 @@ ReferenceError: y is not defined at emitNone (events.js:*:*) at Socket.emit (events.js:*:*) at endReadableNT (_stream_readable.js:*:*) - at process._tickCallback (node.js:*:*) + at doNTCallback2 (node.js:*:*) [stdin]:1 var ______________________________________________; throw 10 |