bpo-36044: Reduce number of unit tests run for PGO build. by nascheme · Pull Request #14702 · python/cpython

@nascheme

This speeds up the PGO profile generation by a factor of about 15X.
Running the full unit test suite is slow.  This may result in a
slightly less optimized build since not as many code branches will
be executed.  If you are willing to wait for the slower build, the
old behavior can be enabled as follows:

    ./configure [...] --with-profile-task='-m test --pgo'

@nascheme

@nascheme

@nascheme

Add --pgo-extended option to regrtest.

vstinner

@nascheme

@gpshead

more detail and a performance disclaimer.

@nascheme

The configure flags --with-something are intended for enabling
optional external software.  Just use a variable instead.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Jul 22, 2019
)

Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.
(cherry picked from commit 4e16a4a)

Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>

miss-islington added a commit that referenced this pull request

Jul 22, 2019
Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.
(cherry picked from commit 4e16a4a)

Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>

lisroach pushed a commit to lisroach/cpython that referenced this pull request

Sep 10, 2019
)

Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.

DinoV pushed a commit to DinoV/cpython that referenced this pull request

Jan 14, 2020
)

Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.

websurfer5 pushed a commit to websurfer5/cpython that referenced this pull request

Jul 20, 2020
)

Reduce the number of unit tests run for the PGO generation task.  This
speeds up the task by a factor of about 15x.  Running the full unit test
suite is slow.  This change may result in a slightly less optimized build
since not as many code branches will be executed.  If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'.  We make no
guarantees as to which PGO task set produces a faster build.  Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.