Large Page Support for Code Issue: 16198
Support under Linux to map the text segment of node into 2M pages. Fixes: https://github.com/nodejs/node/issues/16198 src: node.cc,node_large_page.cc,node_large_page.h build: node.gyp,node.gypi,ld.implicit.script config: configure
How to enable
./configure --use-largepages
Performance Results
Node Microbenchmarks (under node/benchmarks) total tests | 5444 total 3 stars | 589 with 82% of tests showing positive gains and 18% have low single digit regression.
Node Larger Application
Web Tooling - 2% Node-DC-EIS - 3% - 5% Ghost - 2% - 3% Node-Todo - 20% React-SSR - 2.5%
Caveats
- Tested under Ubuntu 16.04 only
- Original PR had 3 tests failing. The latest updated PR has no tests failing.
- Short running programs will see slowdown due to additional code (~450k x86 instructions) during startup
Checklist
-
make -j4 test
(UNIX), passes -
tests and/or benchmarks are included (details above) -
Code follows Node C++ Style Guide -
commit message follows commit guidelines