forked from python/cpython
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bpo-36044: Reduce number of unit tests run for PGO build (pythonGH-14702
) 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 <[email protected]>
- Loading branch information
1 parent
5b39852
commit 16270bf
Showing
7 changed files
with
96 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Set of tests run by default if --pgo is specified. The tests below were | ||
# chosen based on the following criteria: either they exercise a commonly used | ||
# C extension module or type, or they run some relatively typical Python code. | ||
# Long running tests should be avoided because the PGO instrumented executable | ||
# runs slowly. | ||
PGO_TESTS = [ | ||
'test_array', | ||
'test_base64', | ||
'test_binascii', | ||
'test_binop', | ||
'test_bisect', | ||
'test_bytes', | ||
'test_cmath', | ||
'test_codecs', | ||
'test_collections', | ||
'test_complex', | ||
'test_dataclasses', | ||
'test_datetime', | ||
'test_decimal', | ||
'test_difflib', | ||
'test_embed', | ||
'test_float', | ||
'test_fstring', | ||
'test_functools', | ||
'test_generators', | ||
'test_hashlib', | ||
'test_heapq', | ||
'test_int', | ||
'test_itertools', | ||
'test_json', | ||
'test_long', | ||
'test_math', | ||
'test_memoryview', | ||
'test_operator', | ||
'test_ordered_dict', | ||
'test_pickle', | ||
'test_pprint', | ||
'test_re', | ||
'test_set', | ||
'test_statistics', | ||
'test_struct', | ||
'test_tabnanny', | ||
'test_time', | ||
'test_unicode', | ||
'test_xml_etree', | ||
'test_xml_etree_c', | ||
] | ||
|
||
def setup_pgo_tests(ns): | ||
if not ns.args and not ns.pgo_extended: | ||
# run default set of tests for PGO training | ||
ns.args = PGO_TESTS[:] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
Misc/NEWS.d/next/Build/2019-07-11-01-28-24.bpo-36044.gIgfiJ.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters