Skip to content

Significant performance degradation in the macOS build #122832

Closed as not planned
Closed as not planned

Description

@rhettinger

Bug report

Bug description:

The benchmark at Tools/scripts/var_access_benchmark.py indicates that something is wrong with the latest build.

The versions compared are 3.12.4 versus Python 3.13.0rc1 using the stock macOS 64-bit universal2 installer builds published on python.org.

Screenshot 2024-08-08 at 12 28 26 PM

CPython versions tested on:

3.13

Operating systems tested on:

macOS

Activity

  1. added
    performancePerformance or resource usage
    and removed
    type-bugAn unexpected behavior, bug, or error
    on Aug 8, 2024
  2. hugovk commented on Aug 8, 2024

    @hugovk
    Member

    Sound like a duplicate of #122580.

  3. rhettinger commented on Aug 8, 2024

    @rhettinger
    ContributorAuthor

    Sound like a duplicate of #122580.

    There are key differences.

    The other report shows a specific piece of code that runs a little slower and could reasonably be attributed to a skipped PGO path or build noise. This report shows degradation across the board. Local variable reads are 4x slower. This isn't minor.

    The other report used a local build which would be affected by many factors. This report uses the official python.org builds.

    The other report used an alpha version. This report focuses on a release-candidate which means that this is what we're about to ship. That makes the level of severity more important.

    Rather than thinking about dismissing this as a duplicate, a better question is whether it should be marked as a release-blocker.

  4. ned-deily commented on Aug 8, 2024

    @ned-deily
    Member

    Thanks for the additional data points. I think we were considering the other issue to be a release blocker and should have labeled it as such.

  5. hugovk commented on Aug 8, 2024

    @hugovk
    Member

    The full pyperformance suite has been run in the other issue, comparing 3.13.0rc1 and 3.12.4 and showed the RC is some 9% slower. See #122580 (comment)

    Yes, I think it's a release blocker. There's a possible solution in the other issue, building with different flags.

  6. ned-deily commented on Aug 8, 2024

    @ned-deily
    Member

    BTW, thanks again, @rhettinger, for implementing that useful benchmark. I had been using it already in investigating the other report which was also against the python.org builds, later diverging into local test builds.

  7. self-assigned this
    on Aug 8, 2024
  8. hg0428 commented on Aug 9, 2024

    @hg0428

    Sound like a duplicate of #122580.

    There are key differences.

    The other report shows a specific piece of code that runs a little slower and could reasonably be attributed to a skipped PGO path or build noise. This report shows degradation across the board. Local variable reads are 4x slower. This isn't minor.

    The other report used a local build which would be affected by many factors. This report uses the official python.org builds.

    The other report used an alpha version. This report focuses on a release-candidate which means that this is what we're about to ship. That makes the level of severity more important.

    Rather than thinking about dismissing this as a duplicate, a better question is whether it should be marked as a release-blocker.

    Sound like a duplicate of #122580.

    There are key differences.

    The other report shows a specific piece of code that runs a little slower and could reasonably be attributed to a skipped PGO path or build noise. This report shows degradation across the board. Local variable reads are 4x slower. This isn't minor.

    The other report used a local build which would be affected by many factors. This report uses the official python.org builds.

    The other report used an alpha version. This report focuses on a release-candidate which means that this is what we're about to ship. That makes the level of severity more important.

    Rather than thinking about dismissing this as a duplicate, a better question is whether it should be marked as a release-blocker.

    Actually, my report used the official installers from Python.org, and focused on the release candidate as well. So, they can be seen as the same overall issue. Thanks for the benchmark to help this out.

  9. ned-deily commented on Sep 3, 2024

    @ned-deily
    Member

    Thanks again for the extremely useful data and the heads-up. Since the performance degradation here appears to the same root cause and solution (which will be available in 3.13.0rc2) as that noted in #122580, I am going to close this as a duplicate and consolidate the discussion there.

  10. rhettinger commented on Sep 7, 2024

    @rhettinger
    ContributorAuthor

    Just tested 3.13rc2 and everything is fixed. Thank you.

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

Metadata

Metadata

Assignees

Labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions