summaryrefslogtreecommitdiffstats
path: root/Tools/scripts/summarize_stats.py
Commit message (Collapse)AuthorAgeFilesLines
* GH-126491: GC: Mark objects reachable from roots before doing cycle ↵Mark Shannon2024-12-021-1/+4
| | | | | | | | | | | | | collection (GH-127110) * Mark almost all reachable objects before doing collection phase * Add stats for objects marked * Visit new frames before each increment * Update docs * Clearer calculation of work to do.
* summarize: Fix typo in stats (#127450)alm2024-11-301-1/+1
|
* Revert "GH-126491: GC: Mark objects reachable from roots before doing cycle ↵Hugo van Kemenade2024-11-191-4/+1
| | | | collection (GH-126502)" (#126983)
* GH-126491: GC: Mark objects reachable from roots before doing cycle ↵Mark Shannon2024-11-181-1/+4
| | | | | | | | | | | | | | | | collection (GH-126502) * Mark almost all reachable objects before doing collection phase * Add stats for objects marked * Visit new frames before each increment * Remove lazy dict tracking * Update docs * Clearer calculation of work to do.
* GH-124284: Add stats for refcount operations on immortal objects (GH-124288)Mark Shannon2024-09-231-6/+12
|
* gh-115178: Add Counts of UOp Pairs to pystats (GH-115181)Jeff Glass2024-04-161-4/+5
|
* GH-115776: Embed the values array into the object, for "normal" Python ↵Mark Shannon2024-04-021-3/+2
| | | | objects. (GH-116115)
* Fix broken format in error for bad input in summarize_stats.py (#117375)Guido van Rossum2024-03-291-1/+1
| | | When you pass the script a non-existent input file, you get a TypeError instead of the intended ValueError.
* gh-116996: Add pystats about _Py_uop_analyse_and_optimize (GH-116997)Michael Droettboom2024-03-211-0/+26
|
* gh-116879: Add new optimizer pystats to tables (GH-116880)Michael Droettboom2024-03-161-4/+30
|
* gh-115168: Add pystats counter for invalidated executors (GH-115169)Michael Droettboom2024-02-261-1/+10
|
* Tier 2 cleanups and tweaks (#115534)Guido van Rossum2024-02-201-0/+4
| | | | | | | | | * Rename `_testinternalcapi.get_{uop,counter}_optimizer` to `new_*_optimizer` * Use `_PyUOpName()` instead of` _PyOpcode_uop_name[]` * Add `target` to executor iterator items -- `list(ex)` now returns `(opcode, oparg, target, operand)` quadruples * Add executor methods `get_opcode()` and `get_oparg()` to get `vmdata.opcode`, `vmdata.oparg` * Define a helper for printing uops, and unify various places where they are printed * Add a hack to summarize_stats.py to fix legacy uop names (e.g. `POP_TOP` -> `_POP_TOP`) * Define helpers in `test_opt.py` for accessing the set or list of opnames of an executor
* gh-115362: Add documentation to pystats output (#115365)Michael Droettboom2024-02-161-77/+224
|
* GH-113710: Fix updating of dict version tag and add watched dict stats ↵Mark Shannon2024-02-121-1/+1
| | | | (GH-115221)
* gh-114312: Collect stats for unlikely events (GH-114493)Michael Droettboom2024-01-251-1/+21
|
* GH-114448: Don't sort summarize_stats.py histograms by amount of change ↵Michael Droettboom2024-01-221-4/+7
| | | | (GH-114449)
* gh-58032: Do not use argparse.FileType in module CLIs and scripts (GH-113649)Serhiy Storchaka2024-01-101-3/+3
| | | | | Open and close files manually. It prevents from leaking files, preliminary creation of output files, and accidental closing of stdin and stdout.
* gh-112320: Implement on-trace confidence tracking for branches (#112321)Guido van Rossum2023-12-121-0/+2
| | | We track the confidence as a scaled int.
* gh-111277: In summarize_stats.py, don't fail fast on invalid ratios (#111278)Michael Droettboom2023-10-311-3/+5
|
* gh-109329: Count tier2 opcode misses (#110561)Michael Droettboom2023-10-311-1/+1
| | | This keeps a separate 'miss' counter for each micro-opcode, incremented whenever a guard uop takes a deoptimization side exit.
* GH-111213: Fix a few broken stats (GH-111216)Mark Shannon2023-10-261-6/+18
|
* gh-110019: Refactor summarize_stats (GH-110398)Michael Droettboom2023-10-241-791/+1041
|
* gh-109329: Add stat for "trace too short" (GH-110402)Michael Droettboom2023-10-051-0/+2
|
* GH-109329: Add tier 2 stats (GH-109913)Michael Droettboom2023-10-041-114/+356
|
* GH-109373: Store metadata required for pystats comparison in the JSON ↵Michael Droettboom2023-09-151-32/+65
| | | | (GH-109374)
* GH-109330: Dump and compare stats using opcode names, not numbers (GH-109335)Michael Droettboom2023-09-121-45/+27
|
* gh-109136: Fix summarize_stats.py tool (#109137)Michael Droettboom2023-09-081-1/+1
|
* gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵Irit Katriel2023-08-161-2/+2
| | | | opcode.py (#107971)
* Add some GC stats to Py_STATS (GH-107581)Mark Shannon2023-08-041-0/+34
|
* gh-87729: improve hit rate of LOAD_SUPER_ATTR specialization (#104270)Carl Meyer2023-05-111-3/+5
|
* GH-102181: Improve specialization stats for SEND (GH-102182)penguin_wwy2023-05-101-0/+2
|
* GH-100982: Break up COMPARE_AND_BRANCH (GH-102801)Brandt Bucher2023-03-231-2/+0
|
* GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)Mark Shannon2023-01-161-0/+2
|
* Don't double count misses. (GH-100984)Mark Shannon2023-01-131-0/+3
|
* GH-99770: Make the correct call specialization fail kind show up in the ↵penguin_wwy2022-12-221-1/+1
| | | | stats (GH-99771)
* Assorted minor fixes for specialization stats. (GH-100219)Mark Shannon2022-12-141-10/+5
|
* GH-100143: Improve collecting pystats for parts of runs (GH-100144)Michael Droettboom2022-12-121-19/+29
| | | | | | | | * pystats off by default * Add -Xpystats flag * Always dump pystats, even if turned off
* GH-100026: Include the number of raw input files in summarize_stats.py ↵Michael Droettboom2022-12-061-0/+4
| | | | (GH-100027)
* GH-99905: Fix output of misses in summarize_stats.py execution counts (GH-99906)Michael Droettboom2022-11-301-3/+3
| | | This was an indentation error introduced in 2844aa6a
* Support comparing two sets of pystats (GH-98816)Michael Droettboom2022-11-041-122/+364
| | | | | | | | | | This adds support for comparing pystats collected from two different builds. - The `--json-output` can be used to load in a set of raw stats and output a JSON file. - Two of these JSON files can be provided on the next run, and then comparative results between the two are output.
* GH-94163: Add BINARY_SLICE and STORE_SLICE instructions. (GH-94168)Mark Shannon2022-06-271-6/+7
|
* gh-84623: Remove unused imports (#94132)Victor Stinner2022-06-221-1/+0
|
* Stats: Add summary of top instructions for misses and deferred ↵Mark Shannon2022-06-221-2/+20
| | | | specialization. (GH-94072)
* Include freelists in allocation total. (GH-93799)Mark Shannon2022-06-141-1/+1
|
* GH-90230: Add stats to breakdown the origin of calls to `PyEval_EvalFrame` ↵Mark Shannon2022-05-271-5/+12
| | | | (GH-93284)
* Split refcount stats into 'interpreter' and 'non-interpreter' (GH-92919)Mark Shannon2022-05-181-0/+6
|
* Summarize stats: Increase number of predecessor/successor pairs shown from 3 ↵Mark Shannon2022-05-171-3/+3
| | | | to 5. (GH-92853)
* Improve object stats (#92845)Mark Shannon2022-05-161-5/+13
| | | | | * Add incref/decref stats * Show ratios for allocation in summary
* summarize_stats.py: add pairs by opcode (GH-31957)Dennis Sweeney2022-03-181-9/+44
|
* Fix reporting of specialization stats. (GH-31503)Mark Shannon2022-02-221-1/+1
|