Skip to content

Conversation

@markshannon
Copy link
Member

Resulting table looks like this:

Object stats

CountRatio
Allocations from freelist4,589,260,80846.0%
...
Method cache hits1,525,324,505
Method cache misses69,170,546
Method cache collisions73,503,400
Method cache dunder hits2,066,830,615
Method cache dunder misses4,345,814

@netlify
Copy link

netlifybot commented Dec 14, 2022

Deploy Preview for python-cpython-preview ready!

NameLink
🔨 Latest commit6d6aa01
🔍 Latest deploy loghttps://app.netlify.com/sites/python-cpython-preview/deploys/639a222a34381700086655dd
😎 Deploy Previewhttps://deploy-preview-100255--python-cpython-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

Copy link
Member

@carljmcarljm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines +4174 to +4175
OBJECT_STAT_INC_COND(type_cache_misses, !is_dunder_name(name));
OBJECT_STAT_INC_COND(type_cache_dunder_misses, is_dunder_name(name));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume there's no user of these stats who will care that the definition of a "miss" now includes collisions whereas before it excluded collisions? Obviously the same information is derivable either way.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old stats were only available if MCACHE_STATS was defined, which could only be done by editing the source or build. There is no configure option. So, I don't see how there can be a user.

@markshannonmarkshannon merged commit 48e352a into python:mainDec 15, 2022
carljm added a commit to carljm/cpython that referenced this pull request Dec 16, 2022
* main: Improve stats presentation for calls. (pythonGH-100274) Better stats for `LOAD_ATTR` and `STORE_ATTR` (pythonGH-100295) pythongh-81057: Move the Cached Parser Dummy Name to _PyRuntimeState (python#100277) Document that zipfile's pwd parameter is a `bytes` object (python#100209) pythongh-99767: mark `PyTypeObject.tp_watched` as internal use only in table (python#100271) Fix typo in introduction.rst (python#100266) pythongh-78997: AttributeError if loading fails in LibraryLoader.__getattr__ pythonGH-100234: Set a default value for random.expovariate() (pythonGH-100235) Remove uninformative itertools recipe (pythonGH-100253) pythonGH-99767: update PyTypeObject docs for type watchers (pythonGH-99928) Move stats for the method cache into the `Py_STAT` machinery (pythonGH-100255) pythonGH-100222: fix typo _py_set_opocde -> _py_set_opcode (pythonGH-100259) pythonGH-100000: Cleanup and polish various watchers code (pythonGH-99998) pythongh-90111: Minor Cleanup for Runtime-Global Objects (pythongh-100254)
@markshannonmarkshannon deleted the type-cache-stats branch September 26, 2023 12:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@markshannon@carljm@bedevere-bot