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 — gh-121266: Remove Py_ALWAYS_INLINE in dictobject.c by vstinner · Pull Request #121493 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Jul 8, 2024 •
edited by bedevere-app Bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

compare_unicode_generic(), compare_unicode_unicode() and compare_generic() are callbacks used by do_lookup(). When enabling assertions, it's not possible to inline these functions.

  • Issue: always_inline makes build fail with -Og and --without-pydebug #121266

Sorry, something went wrong.

Uh oh!

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

All reactions
@vstinner
vstinner requested review from markshannon and methane as code owners July 8, 2024 12:50
@bedevere-app bedevere-app Bot mentioned this pull request Jul 8, 2024
always_inline makes build fail with -Og and --without-pydebug #121266
Closed
@bedevere-app bedevere-app Bot added the awaiting core review label Jul 8, 2024
@vstinner

vstinner commented Jul 8, 2024

Copy link
Copy Markdown
Member Author

@DinoV: You added Py_ALWAYS_INLINE in the commit 0990d55 of the PR gh-114629. Can you tell me if my change makes sense and if it can have a negative affect on performance?

cc @methane

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner vstinner added the skip news label Jul 8, 2024
methane
methane reviewed Jul 8, 2024
View reviewed changes
Comment thread Objects/dictobject.c Resolved

Uh oh!

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

@vstinner
pythongh-121266: Remove Py_ALWAYS_INLINE in dictobject.c
cc02eac
compare_unicode_generic(), compare_unicode_unicode() and
compare_generic() are callbacks used by do_lookup(). When enabling
assertions, it's not possible to inline these functions.
@vstinner
vstinner force-pushed the remove_always_inline branch from cd9b693 to cc02eac Compare July 17, 2024 19:54
@vstinner

vstinner commented Jul 17, 2024

Copy link
Copy Markdown
Member Author

@methane: Would you mind to review the rebased PR?

All reactions

Sorry, something went wrong.

Uh oh!

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

methane
methane approved these changes Jul 18, 2024
View reviewed changes
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Jul 18, 2024
@vstinner
vstinner merged commit c5a6b9a into python:main Jul 18, 2024
@vstinner
vstinner deleted the remove_always_inline branch July 18, 2024 06:19
@bedevere-app bedevere-app Bot removed the awaiting merge label Jul 18, 2024
@vstinner vstinner added the needs backport to 3.13 only security fixes label Jul 21, 2024
@miss-islington-app

miss-islington-app Bot commented Jul 21, 2024

Copy link
Copy Markdown

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

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

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 21, 2024
@vstinner @miss-islington
pythongh-121266: Remove Py_ALWAYS_INLINE in dictobject.c (pythonGH-12…
ad75156
…1493)

compare_unicode_generic(), compare_unicode_unicode() and
compare_generic() are callbacks used by do_lookup(). When enabling
assertions, it's not possible to inline these functions.
(cherry picked from commit c5a6b9a)

Co-authored-by: Victor Stinner <[email protected]>
@bedevere-app

bedevere-app Bot commented Jul 21, 2024

Copy link
Copy Markdown

GH-122095 is a backport of this pull request to the 3.13 branch.

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 only security fixes label Jul 21, 2024
vstinner added a commit that referenced this pull request Jul 21, 2024
@miss-islington @vstinner
[3.13] gh-121266: Remove Py_ALWAYS_INLINE in dictobject.c (GH-121493) (…
e458268
…#122095)

gh-121266: Remove Py_ALWAYS_INLINE in dictobject.c (GH-121493)

compare_unicode_generic(), compare_unicode_unicode() and
compare_generic() are callbacks used by do_lookup(). When enabling
assertions, it's not possible to inline these functions.
(cherry picked from commit c5a6b9a)

Co-authored-by: Victor Stinner <[email protected]>
@bedevere-bot

bedevere-bot commented Jul 21, 2024

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot s390x Fedora 3.13 has failed when building commit e458268.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#builders/1403/builds/223) and take a look at the build logs.
  4. Check if the failure is related to this commit (e458268) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#builders/1403/builds/223

Failed tests:

  • test_pyrepl

Failed subtests:

  • test_inspect_keeps_globals_from_inspected_module - test.test_pyrepl.test_pyrepl.TestMain.test_inspect_keeps_globals_from_inspected_module

Summary of the results of the build (if available):

==

Click to see traceback logs
Traceback (most recent call last):
  File "/home/dje/cpython-buildarea/3.13.edelsohn-fedora-z/build/Lib/test/test_pyrepl/test_pyrepl.py", line 995, in _run_repl_globals_test
    self.fail(f"{var}= not found in output")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: FOO= not found in output


Traceback (most recent call last):
  File "/home/dje/cpython-buildarea/3.13.edelsohn-fedora-z/build/Lib/test/test_pyrepl/test_pyrepl.py", line 995, in _run_repl_globals_test
    self.fail(f"{var}= not found in output")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: __name__= not found in output
All reactions

Sorry, something went wrong.

Uh oh!

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

@Siyet Siyet mentioned this pull request Apr 12, 2026
General optimisations for dict lookup/insert performance #145179
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@colesbury colesbury colesbury left review comments
@methane methane methane approved these changes
@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner

Uh oh!

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

Assignees

No one assigned

Labels

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.

4 participants

@vstinner @bedevere-bot @methane @colesbury
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.