We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
to your account
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
assignee = None
closed_at = None
created_at = <Date 2022-01-25.05:27:08.416>
labels = ['interpreter-core', '3.11', 'performance']
title = 'Type-specialized Py_DECREF'
updated_at = <Date 2022-01-25.05:33:34.410>
user = 'https://github.com/sweeneyde'
activity = <Date 2022-01-25.05:33:34.410>
actor = 'Dennis Sweeney'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Interpreter Core']
creation = <Date 2022-01-25.05:27:08.416>
creator = 'Dennis Sweeney'
dependencies = 
files = 
hgrepos = 
issue_num = 46509
keywords = ['patch']
message_count = 2.0
messages = ['411553', '411554']
nosy_count = 1.0
nosy_names = ['Dennis Sweeney']
pr_nums = ['30872']
priority = 'normal'
resolution = None
stage = 'patch review'
status = 'open'
superseder = None
type = 'performance'
url = 'https://bugs.python.org/issue46509'
versions = ['Python 3.11']
The text was updated successfully, but these errors were encountered:
GCC --enable-optimizations --with-lto on WSL:
Benchmark hidden because not significant (24): chaos, django_template, hexiom, logging_format, logging_simple, pickle, pickle_dict, pidigits, pyflate, python_startup_no_site, raytrace, regex_v8, richards, scimark_lu, sqlalchemy_declarative, sqlalchemy_imperative, sympy_expand, sympy_sum, sympy_str, tornado_http, unpickle, unpickle_list, unpickle_pure_python, xml_etree_generate
Geometric mean: 1.01x faster
Sorry, something went wrong.
This attempts to avoid the dispatch dance of
Py_DECREF(op) :: Py_TYPE(op)->tp_dealloc(op) :: Py_TYPE(op)->tp_free((PyObject *)op);
I suspect this earns the most speedup from floats, where freelist manipulation can be inlined. This might make a single-digit-int freelist more impactful.
gh-90667: Add specializations of Py_DECREF when types are known (GH-3…
pythongh-90667: fix incompatible pointer type warnings
No branches or pull requests