Skip to content

enabling pgo #21583

Description

@octaviansoldea
  • Version: v11.0.0-pre
  • Platform: Linux
  • Subsystem:

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

Activity

  1. added
    buildIssues and PRs related to Node.js builds or CI infrastructure.
    on Jun 29, 2018
  2. Trott commented on Jun 29, 2018

    @Trott
    Member

    @nodejs/build

  3. bnoordhuis commented on Jun 29, 2018

    @bnoordhuis
    Member

    Do you want to add a configure option 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.

  4. mhdawson commented on Jun 29, 2018

    @mhdawson
    Member

    +1 to starting with configure option.

  5. octaviansoldea commented on Jun 29, 2018

    @octaviansoldea
    Author

    Hello

    Thank you for your feedback. My solution is including configure indeed.

    @octaviansoldea

  6. octaviansoldea commented on Jun 29, 2018

    @octaviansoldea
    Author

    Hello

    Just a small update. I have uploaded the modification proposed and created the pull request

    pgo: enabling pgo at configure #21596

    @octaviansoldea

  7. added a commit that references this issue on Sep 27, 2018
  8. added a commit that references this issue on Oct 3, 2018
  9. lundibundi commented on Nov 22, 2019

    @lundibundi
    Member

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions