Repository navigation
enabling pgo #21583
Description
Activity
- addedbuildIssues and PRs related to Node.js builds or CI infrastructure.Issues and PRs related to Node.js builds or CI infrastructure.
on Jun 29, 2018 @nodejs/build
Do you want to add a
configureoption or enable PGO in release builds? The former isn't controversial and will likely be accepted. The latter still has the issue of a lack of comprehensive benchmarks.Node-DC-EIS and Ghost are realistic workloads but using them as inputs could penalize e.g. build tool-esque workloads (gulp, webpack, etc.)
I'd start with the configure option because prepping the build system needs to happen anyway.
+1 to starting with configure option.
Hello
Just a small update. I have uploaded the modification proposed and created the pull request
pgo: enabling pgo at configure #21596
Hello
I am uploading here the rest of the files obtained at running the Node.js benchmark suite.
Please note that the profiling was done on Node-DC-EIS.arrays_compare.txt
buffers_compare.txt
child_process_compare.txt
cluster_compare.txt
crypto_compare.txt
dgram_compare.txt
dns_compare.txt
domain_compare.txt
es_compare.txt
events_compare.txt
fs_compare.txt
http2_compare.txt
http_compare.txt
misc_compare.txt
module_compare.txt
net_compare.txt
os_compare.txt
path_compare.txt
process_compare.txt
querystring_compare.txt
streams_compare.txt
string_decoder_compare.txt
timers_compare.txt
tls_compare.txt
url_compare.txt
util_compare.txt
v8_compare.txt
vm_compare.txt
zlib_compare.txt- added a commit that references this issue
on Aug 31, 2018 - added a commit that references this issue
on Sep 4, 2018 - added a commit that references this issue
on Sep 27, 2018 - added a commit that references this issue
on Oct 3, 2018 Closed via #21596.
Using PGO for release builds may be an idea worth discussion but this issue has concerned the ability to use PGO on Linux.
Hello
This is about enabling pgo compilation. This issue, is also related to a previous effort:
#1409
In this context, I would like to initiate a pull request and ask the community feedback. From some preliminary results, I have the following data:
I have compared Node-DC-EIS and Ghost, and have obtained 3.7% and 3.8% improvements respectively. These numbers were validated with unpaired t-test. Moreover, I am collecting data regarding the Node.js benchmark suite and attached here two of the benchmarks:
assert_compare.txt
async_hooks_compare.txt
In this context, I would like to mention that assert and async manifest 3.17% and 3.92% improvements respectively.
The experiments were done on Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz. Nevertheless, the solution I would like to submit passes the tests, and also compiles for 32 bits, see also issue 1409.
I am looking forward to hearing from you.
@octaviansoldea