GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — test_peg_generator and test_freeze require cpu by vstinner · Pull Request #108386 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Aug 23, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

The test_peg_generator and test_tools.test_freeze tests now require the 'cpu' resource. Skip these tests unless the 'cpu' resource is enabled (it is disabled by default).

These tests are no longer skipped if Python is built with ASAN or MSAN sanitizer.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

gpshead reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@vstinner vstinner added the skip news label Aug 23, 2023
@vstinner
vstinner requested review from lysnikolaou and pablogsal as code owners August 23, 2023 22:00
@bedevere-bot bedevere-bot added the awaiting core review label Aug 23, 2023
@vstinner
test_peg_generator and test_freeze require cpu
7a0a718
The test_peg_generator and test_tools.test_freeze tests now require
the 'cpu' resource. Skip these tests unless the 'cpu' resource is
enabled (it is disabled by default).

These tests are no longer skipped if Python is built with ASAN or
MSAN sanitizer.
@vstinner
vstinner force-pushed the requires_cpu branch from 8ed0a41 to 7a0a718 Compare August 23, 2023 22:00
@vstinner vstinner changed the title test_peg_generator and test_freeze requires cpu test_peg_generator and test_freeze require cpu Aug 23, 2023
@vstinner vstinner added the skip issue label Aug 23, 2023
@vstinner

vstinner commented Aug 23, 2023

Copy link
Copy Markdown
Member Author

Comparision, total timing BEFORE => AFTER:

  • Windows x86: 22 min 20 sec => 19 min 26 sec (- 3 min)
  • Windows x64: 19 min 28 sec => 30 min 34 sec (ignore this one, test_concurrent_futures was re-run!)
  • macOS: 22 min 13 sec => 17 min 34 sec (- 5 min)
  • Ubuntu: 15 min 2 sec => 12 min 18 sec (-3 min)
  • Address Sanitizer: 15 min 38 sec => 15 min 24 sec (same)

The exact timing depends when slowest tests are run. If slowest tests are run at the end, the difference of this PR is less.

GHA jobs timing without this PR

Use #108383 as reference but use #108381 for Windows x86 (since in the other PR, test_concurrent_futures was re-run!).

10 slowest tests:
- test_multiprocessing_spawn: 6 min 7 sec
- test_peg_generator: 4 min 15 sec
- test_importlib: 2 min 45 sec
- test_concurrent_futures: 2 min 16 sec
- test_compileall: 2 min 9 sec
- test_venv: 1 min 49 sec
- test_regrtest: 1 min 46 sec
- test_tarfile: 1 min 41 sec
- test_socket: 1 min 41 sec
- test_fstring: 1 min 27 sec

Total duration: 22 min 20 sec

Windows x64:

10 slowest tests:
- test_peg_generator: 7 min 5 sec
- test_multiprocessing_spawn: 5 min 2 sec
- test_importlib: 3 min 24 sec
- test_compileall: 2 min 16 sec
- test_concurrent_futures: 2 min 13 sec
- test_regrtest: 2 min 9 sec
- test_venv: 1 min 47 sec
- test_tarfile: 1 min 41 sec
- test_subprocess: 1 min 35 sec
- test_socket: 1 min 30 sec

Total duration: 19 min 28 sec

macOS:

10 slowest tests:
- test_tools: 10 min 51 sec
- test_multiprocessing_spawn: 6 min 20 sec
- test_concurrent_futures: 3 min 45 sec
- test_tarfile: 2 min 41 sec
- test_signal: 2 min 40 sec
- test_pickle: 2 min 30 sec
- test_multiprocessing_forkserver: 2 min 17 sec
- test_cppext: 1 min 45 sec
- test_venv: 1 min 27 sec
- test_regrtest: 1 min 25 sec

Total duration: 22 min 13 sec

Ubuntu:

10 slowest tests:
- test_tools: 9 min 7 sec
- test_multiprocessing_spawn: 3 min 24 sec
- test_concurrent_futures: 3 min 4 sec
- test_gdb: 2 min 51 sec
- test_multiprocessing_forkserver: 1 min 51 sec
- test_multiprocessing_fork: 1 min 27 sec
- test_venv: 1 min 17 sec
- test_subprocess: 1 min 7 sec
- test_peg_generator: 1 min 4 sec
- test_socket: 1 min 4 sec

Total duration: 15 min 2 sec

Address Sanitizer:

10 slowest tests:
- test_subprocess: 2 min 42 sec
- test_compileall: 2 min 21 sec
- test_venv: 2 min 17 sec
- test_tarfile: 1 min 49 sec
- test_gdb: 1 min 33 sec
- test_pickle: 1 min 29 sec
- test_zipfile: 1 min 22 sec
- test_weakref: 1 min 18 sec
- test_multiprocessing_main_handling: 1 min 12 sec
- test_decimal: 1 min 10 sec

Total duration: 15 min 38 sec

GHA jobs timing with the PR

Windows x86:

10 slowest tests:
- test_multiprocessing_spawn: 7 min 43 sec
- test_compileall: 2 min 32 sec
- test_concurrent_futures: 2 min 24 sec
- test_venv: 2 min 2 sec
- test_fstring: 1 min 35 sec
- test_tarfile: 1 min 25 sec
- test_regrtest: 1 min 24 sec
- test_io: 1 min 15 sec
- test_pickle: 1 min 13 sec
- test_zipfile: 1 min 10 sec

Total duration: 19 min 26 sec

Windows x64 (test_concurrent_futures failed and had to be re-run!):

10 slowest tests:
- test_multiprocessing_spawn: 7 min 19 sec
- test_tarfile: 2 min 6 sec
- test_compileall: 1 min 53 sec
- test_venv: 1 min 50 sec
- test_importlib: 1 min 43 sec
- test_io: 1 min 33 sec
- test_zipfile: 1 min 31 sec
- test_mmap: 1 min 29 sec
- test_socket: 1 min 24 sec
- test_regrtest: 1 min 15 sec

Total duration: 30 min 34 sec

macOS:

10 slowest tests:
- test_multiprocessing_spawn: 6 min 14 sec
- test_concurrent_futures: 3 min 50 sec
- test_multiprocessing_forkserver: 2 min 47 sec
- test_tarfile: 2 min 5 sec
- test_signal: 1 min 48 sec
- test_decimal: 1 min 22 sec
- test_subprocess: 1 min 21 sec
- test_compileall: 1 min 21 sec
- test_regrtest: 1 min 20 sec
- test_cppext: 1 min 15 sec

Total duration: 17 min 34 sec

Ubuntu:

10 slowest tests:
- test_multiprocessing_spawn: 3 min 56 sec
- test_concurrent_futures: 3 min 5 sec
- test_gdb: 2 min 50 sec
- test_multiprocessing_forkserver: 1 min 57 sec
- test_multiprocessing_fork: 1 min 25 sec
- test_compileall: 1 min 11 sec
- test_venv: 1 min 6 sec
- test_tarfile: 1 min 3 sec
- test_cppext: 1 min 2 sec
- test_zipfile: 1 min 2 sec

Total duration: 12 min 18 sec

Address Sanitizer:

10 slowest tests:
- test_venv: 2 min 13 sec
- test_compileall: 2 min 12 sec
- test_subprocess: 2 min 10 sec
- test_tarfile: 1 min 47 sec
- test_gdb: 1 min 37 sec
- test_zipfile: 1 min 28 sec
- test_weakref: 1 min 24 sec
- test_source_encoding: 1 min 14 sec
- test_decimal: 1 min 12 sec
- test_regrtest: 1 min 11 sec

Total duration: 15 min 24 sec
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner
vstinner merged commit 7a6cc3e into python:main Aug 23, 2023
@bedevere-bot bedevere-bot removed the awaiting core review label Aug 23, 2023
@vstinner
vstinner deleted the requires_cpu branch August 23, 2023 22:57
This was referenced Aug 23, 2023
Split long running test suites up into smaller sub suites to reduce our regrtest long tail on multi-core systems. #108388
Closed
gh-108388: test_concurrent_futures requires cpu #108389
Closed
vstinner added a commit to vstinner/cpython that referenced this pull request Aug 24, 2023
@vstinner
Revert "test_peg_generator and test_freeze require cpu (python#108386)"
9d5c203
This reverts commit 7a6cc3e.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@pablogsal pablogsal Awaiting requested review from pablogsal pablogsal is a code owner
@lysnikolaou lysnikolaou Awaiting requested review from lysnikolaou lysnikolaou is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip issue skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@vstinner @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.