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-114682: Improve performance of module state access in `_decimal` by neonene · Pull Request #115401 · python/cpython

Conversation

@neonene

@neonene neonene commented Feb 13, 2024 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor
  • Fix the module state access in ieee_context().
  • Optimize get_module_state_by_def(), which *_richcompare() now switch to.
  • Optimize find_state_left_or_right().
  • Make Context objects carry decimal_state.
  • Issue: _decimal: pi benchmark 31-45% slower compared to 3.9 #114682

Sorry, something went wrong.

Uh oh!

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

All reactions
@neonene
Fix ieee_context()
a1b7853
@bedevere-app bedevere-app Bot mentioned this pull request Feb 13, 2024
_decimal: pi benchmark 31-45% slower compared to 3.9 #114682
Closed
neonene added 2 commits February 17, 2024 23:58
@neonene
carry module state by Decimal/Context objects
9f8e493
@neonene
Do not carry module state by Decimal
c829ce6
@neonene

neonene commented Feb 17, 2024 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor Author

Around 18% recovery with na+8 and da+32 in the pi test for me, which is no slower than the global state access. About 14% with 8+na and 32+da. FYI,

  • Carrying a module state by the Decimal object seems not to be faster even if dec_richcompare() is boosted.

  • SignalDictMixin type has non-NULL ht_module, unlike SignalDict subtype. get_module_state_by_def(tp_base) or _PyType_GetModuleState(tp_base) can be used in signaldict_*().

All reactions

Sorry, something went wrong.

Uh oh!

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

@neonene neonene closed this Mar 12, 2024
@neonene
neonene deleted the mstate branch March 12, 2024 02:32
@Siyet Siyet mentioned this pull request Apr 12, 2026
Speed regression in the decimal module due to using heap types #144650
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

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

Assignees

No one assigned

Labels

None yet

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

@neonene
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 01402520 — 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.