Skip to content

Compare benchmarks for pull requests#136

Merged
akaIDIOT merged 10 commits intomainfrom
feature/compare-benchmarks
Jan 21, 2026
Merged

Compare benchmarks for pull requests#136
akaIDIOT merged 10 commits intomainfrom
feature/compare-benchmarks

Conversation

@akaIDIOT
Copy link
Member

No description provided.

@akaIDIOT akaIDIOT changed the base branch from main to feature/benchmarks November 18, 2025 13:23
@akaIDIOT akaIDIOT force-pushed the feature/compare-benchmarks branch 4 times, most recently from 4a1c811 to 8247850 Compare November 18, 2025 13:40
@akaIDIOT
Copy link
Member Author

akaIDIOT commented Nov 18, 2025

Beginning to wonder whether running this on GitHub actions is even useful; preliminary results between this PR and its target, which currently changes only workflow configuration:

table of information now posted from github actions, see comment(s) below
benchmark 3.10 3.11 3.12 3.13 3.14 PyPy 3.10 PyPy 3.11
get +1% +0% -1% -10% -3% +29% -2%
get_dotted +3% +1% +1% +1% +2% +29% -1%
getattr +0% +1% +5% -12% -0% +21% -3%
getitem +0% -1% -1% -9% -2% +16% -2%
getitem_dotted +3% +1% +0% +1% +1% +26% -2%
init_full_overlap +1% +2% +4% -2% +1% -2% +0%
init_no_overlap +1% +1% +4% -1% +2% +2% +1%
init_partial_overlap +1% +2% +3% -3% -0% -1% -1%
reference_chain +1% -0% +2% -0% -0% +17% +1%
unpack_args +0% +0% +2% -1% +0% +62% -1%
unpack_kwargs +2% +0% +1% +0% +2% +59% +1%
unpack_tuple +2% -2% +1% -1% +1% +71% +0%

This is currently comparing the median stat for each benchmark, ops shows a similar issue: these readings should be within a margin of error. While it makes sense that a GitHub action runner has more things to do, this makes it hard to indicate whether a pull request would change the performance characteristics of the things being measured...

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

Comparing median (lower is better) metric of benchmarks between this PR's target (e12dd7a) and the HEAD of this PR (f82a3f8):

3.10 3.11 3.12 3.13 3.14 PyPy 3.10 PyPy 3.11
test_benchmark_get -3% -0% +2% -0% +3% -11% +5%
test_benchmark_get_dotted -1% -1% +1% +0% -1% -10% +2%
test_benchmark_getattr +0% +0% -0% -1% +6% -12% -1%
test_benchmark_getitem -3% +1% +2% -4% +1% -14% -0%
test_benchmark_getitem_dotted -0% +0% +1% +0% -2% -8% +0%
test_benchmark_init_full_overlap -2% +0% -1% +1% +0% +5% -1%
test_benchmark_init_no_overlap -2% +1% -0% +0% +0% +5% -1%
test_benchmark_init_partial_overlap -2% +0% -1% +1% -0% +5% -1%
test_benchmark_reference_chain -4% -0% +0% -1% +2% -10% +1%
test_benchmark_splat_args -0% +2% -1% -0% +3% -20% -2%
test_benchmark_spread_kwargs -3% -1% +2% -3% +1% -10% -0%

(This comment will be updated on subsequent pushes)

@akaIDIOT
Copy link
Member Author

Comparing median metric between base 032195b and proposed 8954907

Great, it works \o/

Metrics for PyPy 3.10 seems oddly jittery, but the rest almost looks usable 🎉

@akaIDIOT akaIDIOT marked this pull request as ready for review November 21, 2025 15:27
@akaIDIOT akaIDIOT force-pushed the feature/compare-benchmarks branch from dde41b5 to 66490cb Compare December 19, 2025 14:37
@akaIDIOT akaIDIOT force-pushed the feature/compare-benchmarks branch from 66490cb to 17c9f8d Compare January 7, 2026 10:47
@akaIDIOT
Copy link
Member Author

akaIDIOT commented Jan 7, 2026

PDM on PyPy is currently broken, see pdm-project/pdm#3708

Let's wait on that to get released before merging things...

Base automatically changed from feature/benchmarks to main January 21, 2026 14:36
@akaIDIOT akaIDIOT force-pushed the feature/compare-benchmarks branch from 17c9f8d to 67c5ad8 Compare January 21, 2026 14:48
@akaIDIOT
Copy link
Member Author

this PR's target (e12dd7a) and the HEAD of this PR (f82a3f8)

The HEAD of this PR points to a magical merge that likely will never show up as something that makes sense to anyone, but at least it's a state that will make sense to benchmark.

PDM's been fixed for PyPy, comparing locally works too, I'm thinking this is good enough for now, let's see what it brings to the table for future changes.

@akaIDIOT akaIDIOT merged commit 8055282 into main Jan 21, 2026
9 checks passed
@akaIDIOT akaIDIOT deleted the feature/compare-benchmarks branch January 21, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant