GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||
GeezerVison is showing github.com — benchmark: rewrite the startup performance benchmark by joyeecheung · Pull Request #45746 · nodejs/node Conversation
Member
benchmark: make benchmarks runnable in older versions of Node.jsAlso remove the require-cachable.js benchmarks because now all builtin benchmark: rewrite the startup performance benchmarkThe previous benchmark was inaccurate in several ways:
This patch rewrites the benchmark so that:
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionsAlso remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. The previous benchmark was inaccurate in several ways: - It previously measured "how many workers/child processes can finish loading in parallel in 1 second" which is prone to wrong interpretations. It's also not typical for users to spin up >20 workers/child processes in parallel, which was what the benchmark usually ended up doing. The parallelism can also be greatly affected by system configurations. - The time spent on loading a Node.js binary for the first time varies greatly depending on system configurations, but it was inevitable for the benchmark to load Node.js multiple times to reduce the influence of fluctuations. This patch rewrites the benchmark so that: - It now measures "how long it takes to finish 30 workers/child processes in serial" which is generally more in line with how other benchmarks are written and with the figures one gets from doing something like `time node index.js` or `hyperfine 'node index.js'` - It now warms up the loading of the Node.js instance to reduce the statistical outliers, so that we get more meaningful figures when trying to compare the startup performance of different Node.js binaries.
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
|
There was an error while loading. Please reload this page.
|
New benchmark results from #45659, which is more in line with the results I see from hyperfine: I'll recompile and see the new results from #45716 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
New benchmark numbers from #45716 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Linter is still complaining. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@nodejs/performance Can I have some reviews please? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Landed in 2b9d3b2 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Also remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. PR-URL: #45746 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Also remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. PR-URL: #45746 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Also remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. PR-URL: #45746 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Also remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. PR-URL: #45746 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Also remove the require-cachable.js benchmarks because now all builtin modules are cacheable, it would be comparing oranges to apples when we try to compare the performance of loading all cacheable modules in different Node.js binaries since the set of modules are just different. Comparison of startup performance that involves loading of the long-standing, stable builtins is already covered by the require-builtins benchmark. PR-URL: #45746 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.