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-131798: JIT inline function pointer address for extended binary op by kumaraditya303 · Pull Request #148384 · python/cpython

Conversation

@kumaraditya303

@kumaraditya303 kumaraditya303 commented Apr 11, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor
  • Issue: Better uop coverage in the JIT optimizer #131798

Sorry, something went wrong.

Uh oh!

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

eendebakpt reacted with eyes emoji
All reactions
  • 👀 1 reaction
@kumaraditya303
JIT inline function pointer address for extended binary op
5784b19
@kumaraditya303
kumaraditya303 requested review from Fidget-Spinner, markshannon, savannahostrowski and tomasr8 as code owners April 11, 2026 14:37
@bedevere-app bedevere-app Bot added the awaiting core review label Apr 11, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Apr 11, 2026
Better uop coverage in the JIT optimizer #131798
Open
@kumaraditya303
Merge branch 'main' of https://github.com/python/cpython into jit-inl…
cae6b21
…ine-binary
@kumaraditya303
kumaraditya303 force-pushed the jit-inline-binary branch from e9dffb6 to cae6b21 Compare April 11, 2026 14:43
@Fidget-Spinner

Fidget-Spinner commented Apr 11, 2026

Copy link
Copy Markdown
Member

Do you know this is worth it? In this case it's only one dependent load, and something that always resolves the same. So I'm not too sure. We try not to add new uops into the optimizer if they're not worth it as it's more maintenance burden sometimes.

All reactions

Sorry, something went wrong.

Uh oh!

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

@kumaraditya303
kumaraditya303 marked this pull request as draft April 12, 2026 03:42
@bedevere-app bedevere-app Bot removed the awaiting core review label Apr 12, 2026
@kumaraditya303 kumaraditya303 mentioned this pull request Apr 13, 2026
gh-100239: Specialize binary operations using BINARY_OP_EXTEND #128956
Merged
@eendebakpt

eendebakpt commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

I benchmarked the optimization in this PR on top of #128956

Run 1

Benchmark bench_base bench_turbo
tuple_concat_unpack 92.5 us 92.9 us: 1.00x slower
str_repeat 99.2 us 97.8 us: 1.01x faster
bytes_concat 102 us 103 us: 1.01x slower
bytes_repeat 89.0 us 87.0 us: 1.02x faster
tuple_repeat 85.2 us 83.8 us: 1.02x faster
chained_list_ops 143 us 140 us: 1.02x faster
mixed_float_int 49.6 us 50.8 us: 1.02x slower
float_mix_mul 50.9 us 51.4 us: 1.01x slower
Geometric mean (ref) 1.00x faster

Not significant: list_concat_subscr, dict_merge.

Run 2

Benchmark bench_base2 bench_turbo2
list_concat_subscr 95.5 us 94.7 us: 1.01x faster
tuple_concat_unpack 92.5 us 93.0 us: 1.01x slower
str_repeat 99.0 us 98.1 us: 1.01x faster
bytes_concat 102 us 103 us: 1.01x slower
bytes_repeat 89.3 us 87.2 us: 1.02x faster
tuple_repeat 85.3 us 83.7 us: 1.02x faster
dict_merge 181 us 182 us: 1.01x slower
chained_list_ops 142 us 140 us: 1.02x faster
mixed_float_int 49.6 us 50.8 us: 1.02x slower
Geometric mean (ref) 1.00x faster

Numbers are close to (or in) the noise. Maybe 1% faster for this kind of ops.

All reactions

Sorry, something went wrong.

Uh oh!

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

@github-actions

github-actions Bot commented May 18, 2026

Copy link
Copy Markdown

This PR is stale because it has been open for 30 days with no activity.

All reactions

Sorry, something went wrong.

Uh oh!

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

@github-actions github-actions Bot added the stale Stale PR or inactive for long period of time. label May 18, 2026
@ambv

ambv commented Oct 20, 2026 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor

This PR is superseded by #157011, a newer open pull request for the same issue (gh-131798), and it no longer merges cleanly. Closing to cull the number of open pull requests. Do not reopen this pull request without getting a go-ahead from a triager or core developer.

Sorry, incorrectly marked as duplicate.

All reactions

Sorry, something went wrong.

Uh oh!

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

@ambv ambv closed this Oct 20, 2026
@ambv ambv reopened this Oct 21, 2026
@bedevere-app bedevere-app Bot added the type-feature A feature request or enhancement label Oct 21, 2026
@read-the-docs-community

read-the-docs-community Bot commented Oct 21, 2026

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #35284815 | 📁 Comparing cae6b21 against main (1277a5e)

  🔍 Preview build  

337 files changed · + 1 added · ± 317 modified · - 19 deleted

+ Added

  • library/asyncio-policy.html

± Modified

  • glossary.html
  • index.html
  • license.html
  • py-modindex.html
  • _static/tachyon-example-heatmap.html
  • c-api/allocation.html
  • c-api/arg.html
  • c-api/buffer.html
  • c-api/bytearray.html
  • c-api/bytes.html
  • and 307 more...

- Deleted

  • builtins/constants.html
  • builtins/exceptions.html
  • builtins/functions.html
  • builtins/index.html
  • builtins/stdtypes.html
  • builtins/threadsafety.html
  • builtins/time-complexity.html
  • c-api/sentinel.html
  • c-api/slots.html
  • deprecations/pending-removal-in-3.21.html
  • and 9 more...
All reactions

Sorry, something went wrong.

Uh oh!

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

@github-actions github-actions Bot removed the stale Stale PR or inactive for long period of time. label Oct 27, 2026
@kumaraditya303 kumaraditya303 closed this Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner
@tomasr8 tomasr8 Awaiting requested review from tomasr8 tomasr8 is a code owner
@Fidget-Spinner Fidget-Spinner Awaiting requested review from Fidget-Spinner Fidget-Spinner is a code owner
@savannahostrowski savannahostrowski Awaiting requested review from savannahostrowski

Uh oh!

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

Assignees

No one assigned

Labels

type-feature A feature request or enhancement

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

@kumaraditya303 @Fidget-Spinner @eendebakpt @ambv
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.