node/lib/internal
Darshan Sen e35e893d26
src: speed up process.getActiveResourcesInfo()
This change reduces the number of calls that were crossing the JS-C++
boundary to 1 and also removes the need for calling Array::New()
multiple times internally and ArrayPrototypeConcat-ing the results
later on, thus improving performance.

Refs: https://github.com/nodejs/node/pull/44445#pullrequestreview-1220052837
Signed-off-by: Darshan Sen <raisinten@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/46014
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-01-03 10:36:25 +00:00
..
assert cli: add --watch 2022-09-05 12:25:09 +03:00
bootstrap src: speed up process.getActiveResourcesInfo() 2023-01-03 10:36:25 +00:00
child_process child_process: improve ipc write performance 2022-06-19 16:10:53 +02:00
cluster src: consolidate exit codes in the code base 2022-10-06 12:41:16 +00:00
console bootstrap: lazy load non-essential modules 2022-12-09 22:37:35 +00:00
crypto crypto: fix CryptoKey prototype WPT 2022-12-20 13:35:58 +00:00
debugger debugger: refactor console in lib/internal/debugger/inspect.js 2022-12-28 11:59:41 +00:00
dns bootstrap: lazy load non-essential modules 2022-12-09 22:37:35 +00:00
events lib: performance improvement on readline async iterator 2022-10-24 12:49:16 +00:00
fs fs: refactor to use validateInteger 2023-01-01 06:33:50 +00:00
http2 lib: use kEmptyObject as default value for options 2022-12-31 07:33:39 +00:00
legacy lib: make process.binding('util') return only type checkers 2021-03-27 15:45:12 +00:00
main test_runner: add reporters 2022-12-19 17:35:57 +00:00
modules module: move test reporter loading 2022-12-22 21:40:32 +00:00
per_context crypto: refactor ArrayBuffer to bigint conversion utils 2022-11-27 18:27:21 +00:00
perf tools: add ArrayPrototypeConcat to the list of primordials to avoid 2022-12-17 19:15:24 +00:00
policy src: consolidate exit codes in the code base 2022-10-06 12:41:16 +00:00
process process,worker: ensure code after exit() effectless 2022-12-25 09:54:12 +00:00
readline readline: improve robustness against prototype mutation 2022-12-10 17:51:51 +01:00
repl repl: fix overzealous top-level await 2022-07-15 20:30:50 +01:00
source_map lib: lazy-load deps in source_map_cache.js 2022-12-16 12:44:03 +01:00
streams stream: avoid premature close when will not emit close 2022-11-20 13:42:47 +00:00
test lib: add support for JSTransferable as a mixin 2021-04-26 07:55:48 -07:00
test_runner test_runner: report file in test runner events 2023-01-02 21:22:54 +00:00
tls tls: use logical OR operator 2022-08-16 21:34:56 +00:00
util test_runner: add reporters 2022-12-19 17:35:57 +00:00
v8 bootstrap: fixup Error.stackTraceLimit for user-land snapshot 2022-08-18 13:05:31 +00:00
vm modules: move callbacks and conditions into modules/esm/utils.js 2022-12-16 12:44:10 +01:00
watch_mode test_runner: support watch mode 2022-11-13 21:40:26 +00:00
webstreams stream: refactor to use validateFunction 2023-01-01 06:33:41 +00:00
worker lib: refactor to avoid prototype pollution 2022-08-17 18:36:33 +00:00
abort_controller.js lib: improve transferable abort controller exec 2022-11-21 20:25:48 +00:00
assert.js benchmark,doc,lib,test: prepare for padding lint rule 2019-11-30 06:28:29 -08:00
async_hooks.js bootstrap: lazy load non-essential modules 2022-12-09 22:37:35 +00:00
blob.js buffer: remove unnecessary lazy loading 2022-12-12 13:53:27 +00:00
blocklist.js net: allow net.BlockList to use net.SocketAddress objects 2021-04-02 06:16:42 -07:00
buffer.js util: use private symbols in JS land directly 2022-11-17 18:54:01 +01:00
child_process.js lib: add diagnostics channel for process and worker 2022-08-30 17:08:33 +00:00
cli_table.js lib: refactor to use primordials in lib/internal/cli_table 2021-04-05 18:20:38 -07:00
constants.js lib: replace charCodeAt with fixed Unicode 2020-06-19 07:46:37 -07:00
dgram.js lib: refactor to use validateFunction 2021-01-27 20:46:54 +02:00
encoding.js util: add fast path for text-decoder fatal flag 2022-12-22 20:22:28 +00:00
error_serdes.js lib: use null-prototype objects for property descriptors 2022-06-03 09:23:58 +01:00
errors.js net: handle socket.write(cb) edge case 2023-01-01 23:07:34 +00:00
event_target.js events: fix violation of symbol naming convention 2023-01-01 10:57:48 +00:00
file.js buffer: introduce File 2022-11-10 20:52:45 +00:00
fixed_queue.js lib: fix reference leak 2022-09-07 09:33:10 +00:00
freelist.js http: remove unused hasItems() from freelist 2019-12-03 15:00:45 -08:00
freeze_intrinsics.js lib: fix TODO in freeze_intrinsics 2022-06-27 16:15:16 +01:00
heap_utils.js lib: add options to the heap snapshot APIs 2022-11-08 16:19:54 +01:00
histogram.js lib: use kEmptyObject in various places 2022-06-11 12:18:16 +02:00
http.js http: trace http request / response 2022-08-05 14:25:06 +00:00
idna.js dns: use url module instead of punycode for IDNA 2021-03-23 20:44:31 +01:00
inspector_async_hook.js async_hooks: refactor to use more primordials 2020-11-20 20:10:19 +00:00
js_stream_socket.js lib: use process.nextTick() instead of setImmediate() 2022-11-05 19:53:13 +01:00
linkedlist.js cluster: use linkedlist for round_robin_handle 2021-11-28 21:39:10 -08:00
mime.js util: add MIME utilities (#21128) 2022-10-19 04:26:16 +02:00
net.js net: add autoSelectFamily and autoSelectFamilyAttemptTimeout options 2022-12-03 17:55:57 +00:00
options.js bootstrap: refresh options in pre-execution 2022-03-31 19:29:08 +08:00
priority_queue.js lib: refactor PriorityQueue to use private field 2022-07-23 21:44:18 +01:00
promise_hooks.js lib: use kEmptyObject in various places 2022-06-11 12:18:16 +02:00
querystring.js typings: add JSDoc Types to lib/querystring 2021-04-18 11:00:28 +02:00
readme.md
repl.js lib: use Number.parseInt from primordials 2020-10-07 13:44:20 +00:00
socket_list.js benchmark,lib: change var to const 2019-03-30 13:16:39 +01:00
socketaddress.js lib: use kEmptyObject as default value for options 2022-12-31 07:33:39 +00:00
stream_base_commons.js lib: replace validator and error 2022-02-05 08:36:48 -08:00
structured_clone.js lib: throw error in structuedClone when no arguments are passed 2022-01-24 23:17:37 +00:00
timers.js src: speed up process.getActiveResourcesInfo() 2023-01-03 10:36:25 +00:00
trace_events_async_hooks.js lib: comment explaining special-case handling of promises 2021-07-23 03:54:33 +00:00
tty.js lib: refactor to avoid unsafe regex primordials 2022-06-27 17:16:06 +02:00
url.js url: remove unnecessary object call to kFormat 2022-11-17 13:56:56 +00:00
util.js crypto: fix globalThis.crypto this check 2022-12-20 13:36:00 +00:00
v8_prof_polyfill.js tools: add console to the list of restricted globals 2022-02-19 19:00:55 +00:00
v8_prof_processor.js lib: refactor to avoid unsafe array iteration 2021-10-03 09:48:07 +00:00
validators.js lib: update JSDoc of getOwnPropertyValueOrDefault 2023-01-01 16:58:04 +01:00
vm.js vm: refactor to use validateStringArray 2023-01-01 10:50:49 +00:00
wasm_web_api.js bootstrap: support more builtins in the embedded code cache 2022-08-05 01:11:20 +08:00
watchdog.js test: add semicolons for linter update 2021-11-08 13:16:21 -08:00
webidl.js perf_hooks: convert maxSize to IDL value in setResourceTimingBufferSize 2022-10-13 17:25:33 +00:00
worker.js lib: add options to the heap snapshot APIs 2022-11-08 16:19:54 +01:00

Internal Modules

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These modules can be changed at any time. Reliance on these modules outside of core is not supported in any way.