0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib
Brian White 4c9dd6822e
events: improve once() performance
This commit takes advantage of the performance improvements V8 has
made to function.bind() in V8 5.4 and uses it to avoid constant
recompilation/reoptimization of the wrapper closure used in once().
This change results in ~27% performance increase for once().

PR-URL: https://github.com/nodejs/node/pull/10445
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Teddy Katz <teddy.katz@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-12-28 21:23:25 -05:00
..
internal buffer: allow Uint8Array input to methods 2016-12-21 07:48:14 +01:00
_debug_agent.js debugger: use arrow function for lexical this 2016-08-18 16:44:38 -07:00
_debugger.js debugger: call this.resume() after this.run() 2016-12-05 14:25:39 -05:00
_http_agent.js http: name anonymous functions 2016-10-18 15:29:38 -07:00
_http_client.js http: remove stale timeout listeners 2016-12-08 16:05:22 -05:00
_http_common.js http: fix connection upgrade checks 2016-08-26 10:17:34 -04:00
_http_incoming.js http: name anonymous functions in _http_incoming 2016-10-18 15:38:36 -07:00
_http_outgoing.js http: add debug message for invalid header value 2016-10-28 09:19:17 -07:00
_http_server.js lib: use === in _http_server and _tls_wrap 2016-12-02 19:36:38 -06:00
_linklist.js lib: use emitWarning instead of printDeprecationMessage 2016-09-02 13:15:22 -07:00
_stream_duplex.js
_stream_passthrough.js
_stream_readable.js tools: enforce linebreak after ternary operators 2016-12-22 20:27:59 -08:00
_stream_transform.js src: fixes misplaced comment 2016-09-30 09:47:09 -07:00
_stream_wrap.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
_stream_writable.js test: writable stream ending state 2016-10-28 08:50:45 +02:00
_tls_common.js tls: allow obvious key/passphrase combinations 2016-12-19 13:42:56 -08:00
_tls_legacy.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
_tls_wrap.js tls: document and test option-less createServer 2016-12-12 08:15:36 -08:00
.eslintrc tools: avoid let in for loops 2016-10-14 13:37:12 -07:00
assert.js assert: name anonymous functions 2016-10-19 08:57:20 -07:00
buffer.js buffer: improve allocation performance 2016-12-27 14:57:06 -08:00
child_process.js child_process: improve input validation 2016-12-25 12:48:46 -05:00
cluster.js cluster: return worker reference from disconnect() 2016-12-19 09:46:31 -08:00
console.js console: name anonymous functions 2016-10-16 22:01:02 +02:00
constants.js constants: errors -> errno 2016-11-29 07:33:24 -05:00
crypto.js crypto: return this in setAuthTag/setAAD 2016-11-20 01:16:26 +01:00
dgram.js dgram: use Buffer.alloc(0) for zero-size buffers 2016-10-06 15:27:52 -07:00
dns.js dns: implement {ttl: true} for dns.resolve4() 2016-11-18 22:01:11 +01:00
domain.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
events.js events: improve once() performance 2016-12-28 21:23:25 -05:00
fs.js fs: support Uint8Array input to methods 2016-12-26 10:08:42 +01:00
http.js http: name anonymous functions in http 2016-10-18 15:38:43 -07:00
https.js https: name anonymous functions in https 2016-11-25 13:55:17 -05:00
module.js fs: export realpathCacheKey from internal/fs 2016-11-16 20:22:18 +01:00
net.js net: name anonymous functions 2016-11-01 23:40:44 +01:00
os.js os: deprecate tmpDir() in favour of tmpdir() 2016-06-30 14:52:13 +02:00
path.js path: fallback to process cwd when resolving drive cwd 2016-09-24 01:14:56 +03:00
process.js
punycode.js lib: remove let from for loops 2016-10-04 12:17:32 -04:00
querystring.js
readline.js readline: use icu based string width calculation 2016-10-25 09:00:45 -07:00
repl.js repl: allow autocompletion for scoped packages 2016-12-22 22:03:39 -08:00
stream.js
string_decoder.js
sys.js lib: use emitWarning instead of printDeprecationMessage 2016-09-02 13:15:22 -07:00
timers.js timers: fix handling of cleared immediates 2016-12-14 10:10:22 -05:00
tls.js lib: remove let from for loops 2016-10-04 12:17:32 -04:00
tty.js tty: set the handle to blocking mode 2016-08-10 23:41:28 +02:00
url.js url: do not truncate long hostnames 2016-12-24 21:06:23 -08:00
util.js intl: Add more versions from ICU 2016-10-26 19:24:22 -07:00
v8.js lib,src: support values > 4GB in heap statistics 2016-12-11 14:45:52 +01:00
vm.js vm: name anonymous functions 2016-11-06 20:18:56 +02:00
zlib.js zlib: fix linting recently-introduced lint error 2016-11-08 16:40:56 -08:00