Skip to content

Assorted minor fixes for specialization stats. - #100219

Merged
markshannon merged 4 commits into
python:mainfrom
faster-cpython:fixup-stats
Dec 14, 2022
Merged

Assorted minor fixes for specialization stats.#100219
markshannon merged 4 commits into
python:mainfrom
faster-cpython:fixup-stats

Conversation

@markshannon

@markshannonmarkshannon commented Dec 13, 2022

Copy link
Copy Markdown
Member

The first commit:

  • Fixes total calculations for specialization stats
  • Remove duplicate failure count for some LOAD_ATTR specialization failure. A "method" failure would be counted as well as the true failure.
  • Improves stats for LOAD_GLOBAL

The second commit distinguishes between a missing key and one that is too large for the cache in LOAD_ATTR and STORE_ATTR.

@markshannon

markshannon commented Dec 14, 2022

Copy link
Copy Markdown
MemberAuthor

New stats look good. For example the specialization stats for LOAD_ATTR show a meaningful, and seemingly correct, breakdown of failures.


def kind_to_text(kind, defines, opname):
if kind < 7:
if kind <= 7:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should probably deal with these numeric constants (this 7 here, and the 40 above) in some more flexible way, but that can be left as a follow-on PR.

@markshannon
markshannon merged commit 5693f45 into python:mainDec 14, 2022
carljm added a commit to carljm/cpython that referenced this pull request Dec 14, 2022
* main: (103 commits)
pythongh-100248: Add missing `ssl_shutdown_timeout` parameter in `asyncio` docs (python#100249)
Assorted minor fixes for specialization stats. (pythonGH-100219)
pythongh-100176: venv: Remove redundant compat code for Python <= 3.2 (python#100177)
pythonGH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code unit. (pythonGH-100223)
pythongh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer warning) (python#100215)
pythonGH-100206: use versionadded for the addition of sysconfig.get_default_scheme (python#100207)
pythongh-81057: Move _Py_RefTotal to the "Ignored Globals" List (pythongh-100203)
pythongh-81057: Move Signal-Related Globals to _PyRuntimeState (pythongh-100085)
pythongh-81057: Move faulthandler Globals to _PyRuntimeState (pythongh-100152)
pythongh-81057: Move tracemalloc Globals to _PyRuntimeState (pythongh-100151)
pythonGH-100143: Improve collecting pystats for parts of runs (pythonGH-100144)
pythongh-99955: standardize return values of functions in compiler's code-gen (python#100010)
pythongh-79218: Define `MS_WIN64` macro for Mingw-w64 64bit on Windows (pythonGH-100137)
Fix: typo (Indention) (pythonGH-99904)
pythongh-96715 Remove redundant NULL check in `profile_trampoline` function (python#96716)
pythongh-100176: remove incorrect version compatibility check from argument clinic (python#100190)
clarify the 4300-digit limit on int-str conversion (python#100175)
pythongh-70393: Clarify mention of "middle" scope (python#98839)
pythongh-99688: Fix outdated tests in test_unary (python#99712)
pythongh-100174: [Enum] Correct PowersOfThree example. (pythonGH-100178)
...
@markshannon
markshannon deleted the fixup-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@mdboom@bedevere-bot