node/test/benchmark
Michaël Zasso 1d35a066e7
src,test: ensure that V8 fast APIs are called
Adds a debug-only macro that can be used to track when a V8 fast API is
called. A map of counters is maintained in in thread-local storage and
an internal API can be called to get the total count associated with
a call id.
Specific tests are added and `crypto.timingSafeEqual` as well as
internal documentation are updated to show how to use the macro
and test fast API calls without running long loops.

PR-URL: https://github.com/nodejs/node/pull/54317
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2024-08-13 12:37:02 +00:00
..
benchmark.status test: mark `test-benchmark-crypto` as flaky 2024-06-29 23:09:47 -07:00
test-bechmark-readline.js lib: performance improvement on readline async iterator 2022-10-24 12:49:16 +00:00
test-benchmark-assert.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-async-hooks.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-blob.js benchmark: add blob benchmark 2022-10-17 12:00:31 +00:00
test-benchmark-buffer.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-child-process.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-cluster.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-crypto.js Revert "test: skip tests for openssl-3.0.0-alpha15" 2021-07-21 14:10:37 +02:00
test-benchmark-dgram.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-dns.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-domain.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-es.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-esm.js module: use Wasm CJS lexer when available 2020-10-12 04:24:41 -07:00
test-benchmark-events.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-fs.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-http.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-http2.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-mime.js util: lazy parse mime parameters 2023-10-08 15:43:16 +00:00
test-benchmark-misc.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-module.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-napi.js src,test: ensure that V8 fast APIs are called 2024-08-13 12:37:02 +00:00
test-benchmark-net.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-os.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-path.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-process.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-querystring.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-streams.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-string_decoder.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-timers.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-tls.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-url.js url: drop ICU requirement for parsing hostnames 2023-04-05 09:05:29 -07:00
test-benchmark-util.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-v8.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-validators.js lib: improve performance of validateStringArray and validateBooleanArray 2023-10-22 21:12:38 +00:00
test-benchmark-vm.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-websocket.js benchmark: add undici websocket benchmark 2023-12-06 20:05:38 +00:00
test-benchmark-webstreams.js benchmark: include webstreams benchmark 2022-12-21 16:09:43 +00:00
test-benchmark-worker.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
test-benchmark-zlib.js test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
testcfg.py test: move benchmark tests out of main test suite 2018-11-10 22:44:26 -08:00