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-100239: Specialize exact float division with BINARY_OP_EXTEND by koxudaxi · Pull Request #156324 · python/cpython

Conversation

@koxudaxi

@koxudaxi koxudaxi commented Aug 24, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor

This adds exact float / float and /= entries to BINARY_OP_EXTEND.

gh-146397 added specialized float division uops in tier 2, but plain a / b is still generic in tier 1. The optimizer lowers the new descriptor to the existing float guards and division uops, so no new opcode or JIT stencil is needed.

Benchmarks

Medians of nine alternating runs after two warmups on macOS arm64 with PYTHON_JIT=0:

Benchmark main branch Improvement
exact / loop 288.574 ms 250.588 ms 13.2%
exact /= loop 307.372 ms 263.853 ms 14.2%
pyperformance float body 431.996 ms 414.723 ms 4.0%
Barnes-Hut 436.568 ms 427.196 ms 2.1%

Tier 2 results and the negative controls were neutral.

The full test suite passes. Focused tests also pass with the native JIT, the free-threaded build, and a debug build with refleak checks.

  • Issue: Specialize long tail of binary operations using a table. #100239

Sorry, something went wrong.

Uh oh!

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

All reactions
@koxudaxi
pythongh-100239: Specialize exact float division with BINARY_OP_EXTEND
eb795fe
@koxudaxi
koxudaxi requested review from Fidget-Spinner, markshannon, savannahostrowski and tomasr8 as code owners August 24, 2026 18:01
@bedevere-app bedevere-app Bot added the awaiting review label Aug 24, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Aug 24, 2026
Specialize long tail of binary operations using a table. #100239
Open
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

awaiting review

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.

1 participant

@koxudaxi
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.