Skip to content

benchmark PRs against main in CI - #121

Draft
sliemeobn wants to merge 1 commit into
mainfrom
benchmark-ci
Draft

sliemeobn wants to merge 1 commit into
mainfrom
benchmark-ci

Conversation

@sliemeobn

Copy link
Copy Markdown
Collaborator

Warns when a PR regresses allocations or instructions compared to main.

@github-actions

Copy link
Copy Markdown

Benchmarks

✅ No significant change in instructions or allocations compared to main (run)

Warning

Instruction counts are not available on this runner, only allocations were compared.

New baseline 'pull_request' is WITHIN the 'main' baseline thresholds.

Full comparison

Comparing results between 'main' and 'pull_request'

Host 'e3363686a941' with 4 'x86_64' processors with 15 GB memory, running:
#22-Ubuntu SMP Mon Jul 27 17:24:03 UTC 2026

ElementaryBenchmarks

initialize multi attribute elements metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 303 311 314 318 324 349 510 10000
pull_request 294 303 311 316 321 349 903 10000
Δ -9 -8 -3 -2 -3 0 393 0
Improvement % 3 3 1 1 1 0 -77 0

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 3299 3217 3185 3143 3087 2867 1960 10000
pull_request 3404 3305 3223 3167 3117 2863 1107 10000
Δ 105 88 38 24 30 -4 -853 0
Improvement % 3 3 1 1 1 0 -44 0

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 10000
pull_request 4 4 4 4 4 4 4 10000
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

initialize nested html tags metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 152 155 157 160 163 179 703 10000
pull_request 141 145 148 151 155 166 470 10000
Δ -11 -10 -9 -9 -8 -13 -233 0
Improvement % 7 6 6 6 5 7 33 0

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 6585 6451 6387 6267 6123 5571 1422 10000
pull_request 7097 6915 6751 6611 6471 6015 2130 10000
Δ 512 464 364 344 348 444 708 0
Improvement % 8 7 6 5 6 8 50 0

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 10000
pull_request 0 0 0 0 0 0 0 10000
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

initialize single attribute elements metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 94 96 97 99 101 110 176 10000
pull_request 93 97 97 98 102 111 361 10000
Δ -1 1 0 -1 1 1 185 0
Improvement % 1 -1 0 1 -1 -1 -105 0

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (M) p0 p25 p50 p75 p90 p99 p100 Samples
main 11 10 10 10 10 9 6 10000
pull_request 11 10 10 10 10 9 3 10000
Δ 0 0 0 0 0 0 -3 0
Improvement % 0 0 0 0 0 0 -50 0

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 10000
pull_request 0 0 0 0 0 0 0 10000
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

render array metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 172 173 175 177 178 183 183 29
pull_request 159 165 168 169 171 174 174 30
Δ -13 -8 -7 -8 -7 -9 -9 1
Improvement % 8 5 4 5 4 5 5 1

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 6 6 6 6 6 5 5 29
pull_request 6 6 6 6 6 6 6 30
Δ 0 0 0 0 0 1 1 1
Improvement % 0 0 0 0 0 20 20 1

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 19 19 19 19 19 19 19 29
pull_request 19 19 19 19 19 19 19 30
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

render full document metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1137 1140 1141 1147 1148 1148 1148 5
pull_request 1052 1064 1091 1106 1106 1106 1106 5
Δ -85 -76 -50 -41 -42 -42 -42 0
Improvement % 7 7 4 4 4 4 4 0

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 1 1 1 1 1 1 1 5
pull_request 1 1 1 1 1 1 1 5
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 2014 2014 2014 2014 2014 2014 2014 5
pull_request 2014 2014 2014 2014 2014 2014 2014 5
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

render full document (sync) metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 701 708 710 746 767 767 767 7
pull_request 664 669 687 699 703 703 703 8
Δ -37 -39 -23 -47 -64 -64 -64 1
Improvement % 5 6 3 6 8 8 8 1

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 1 1 1 1 1 1 1 7
pull_request 2 1 1 1 1 1 1 8
Δ 1 0 0 0 0 0 0 1
Improvement % 100 0 0 0 0 0 0 1

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 2012 2012 2012 2012 2012 2012 2012 7
pull_request 2012 2012 2012 2012 2012 2012 2012 8
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

render merged attributes metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1285 1351 1365 1390 1475 3797 5870 3170
pull_request 1250 1275 1307 1355 1777 3531 7185 3188
Δ -35 -76 -58 -35 302 -266 1315 18
Improvement % 3 6 4 3 -20 7 -22 18

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 778 740 733 720 678 263 170 3170
pull_request 800 785 765 739 563 283 139 3188
Δ 22 45 32 19 -115 20 -31 18
Improvement % 3 6 4 3 -17 8 -18 18

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 8 8 8 8 8 8 8 3170
pull_request 8 8 8 8 8 8 8 3188
Δ 0 0 0 0 0 0 0 18
Improvement % 0 0 0 0 0 0 0 18

render multi attribute elements metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1818 1906 1933 1982 2275 3607 6992 2308
pull_request 1717 1764 1838 1874 2216 4215 7756 2434
Δ -101 -142 -95 -108 -59 608 764 126
Improvement % 6 7 5 5 3 -17 -11 126

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 550 525 517 504 440 277 143 2308
pull_request 582 567 544 534 451 237 129 2434
Δ 32 42 27 30 11 -40 -14 126
Improvement % 6 8 5 6 2 -14 -10 126

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 8 8 8 8 8 8 8 2308
pull_request 8 8 8 8 8 8 8 2434
Δ 0 0 0 0 0 0 0 126
Improvement % 0 0 0 0 0 0 0 126

render nested custom elements metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 411 441 447 456 480 1076 2584 8794
pull_request 413 432 449 469 592 1364 4165 8271
Δ 2 -9 2 13 112 288 1581 -523
Improvement % 0 2 0 -3 -23 -27 -61 -523

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 2431 2269 2235 2193 2085 929 387 8794
pull_request 2423 2315 2229 2133 1689 734 240 8271
Δ -8 46 -6 -60 -396 -195 -147 -523
Improvement % 0 2 0 -3 -19 -21 -38 -523

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 2 2 2 2 2 2 2 8794
pull_request 2 2 2 2 2 2 2 8271
Δ 0 0 0 0 0 0 0 -523
Improvement % 0 0 0 0 0 0 0 -523

render nested html tags metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1914 1994 2012 2041 2095 2804 5451 2332
pull_request 1866 1994 2020 2058 2150 3129 5032 2291
Δ -48 0 8 17 55 325 -419 -41
Improvement % 3 0 0 -1 -3 -12 8 -41

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 522 502 497 490 477 357 183 2332
pull_request 536 502 495 486 465 320 199 2291
Δ 14 0 -2 -4 -12 -37 16 -41
Improvement % 3 0 0 -1 -3 -10 9 -41

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 2332
pull_request 4 4 4 4 4 4 4 2291
Δ 0 0 0 0 0 0 0 -41
Improvement % 0 0 0 0 0 0 0 -41

render nested html tags (sync) metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 933 974 984 995 1018 1569 2761 4768
pull_request 911 924 933 971 991 1404 3010 4959
Δ -22 -50 -51 -24 -27 -165 249 191
Improvement % 2 5 5 2 3 11 -9 191

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 1072 1027 1016 1005 983 637 362 4768
pull_request 1097 1083 1072 1030 1010 713 332 4959
Δ 25 56 56 25 27 76 -30 191
Improvement % 2 5 6 2 3 12 -8 191

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 2 2 2 2 2 2 2 4768
pull_request 2 2 2 2 2 2 2 4959
Δ 0 0 0 0 0 0 0 191
Improvement % 0 0 0 0 0 0 0 191

render sequence metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (μs) * p0 p25 p50 p75 p90 p99 p100 Samples
main 314 325 326 328 330 336 336 16
pull_request 305 308 315 318 332 348 348 16
Δ -9 -17 -11 -10 2 12 12 0
Improvement % 3 5 3 3 -1 -4 -4 0

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 3 3 3 3 3 3 3 16
pull_request 3 3 3 3 3 3 3 16
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1008 1008 1008 1008 1008 1008 1008 16
pull_request 1008 1008 1008 1008 1008 1008 1008 16
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

render single attribute elements metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1387 1422 1461 1487 1522 2224 4470 3190
pull_request 1376 1393 1401 1421 1482 1638 3919 3329
Δ -11 -29 -60 -66 -40 -586 -551 139
Improvement % 1 2 4 4 3 26 12 139

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 721 703 685 673 657 450 224 3190
pull_request 727 718 714 704 675 610 255 3329
Δ 6 15 29 31 18 160 31 139
Improvement % 1 2 4 5 3 36 14 139

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 3190
pull_request 4 4 4 4 4 4 4 3329
Δ 0 0 0 0 0 0 0 139
Improvement % 0 0 0 0 0 0 0 139

render text metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 1479 1507 1531 1577 1619 2415 4946 3037
pull_request 1470 1494 1509 1562 1596 1852 4299 3120
Δ -9 -13 -22 -15 -23 -563 -647 83
Improvement % 1 1 1 1 1 23 13 83

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 676 664 653 634 618 414 202 3037
pull_request 680 670 663 641 627 540 233 3120
Δ 4 6 10 7 9 126 31 83
Improvement % 1 1 2 1 1 30 15 83

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 3037
pull_request 4 4 4 4 4 4 4 3120
Δ 0 0 0 0 0 0 0 83
Improvement % 0 0 0 0 0 0 0 83

render tuples metrics

Time (wall clock): results within specified thresholds, fold down for details.

Time (wall clock) (ns) * p0 p25 p50 p75 p90 p99 p100 Samples
main 2654 2701 2777 2849 2916 3576 4807 1736
pull_request 2606 2638 2660 2773 2853 3406 7414 1786
Δ -48 -63 -117 -76 -63 -170 2607 50
Improvement % 2 2 4 3 2 5 -54 50

Throughput (# / s): results within specified thresholds, fold down for details.

Throughput (# / s) (K) p0 p25 p50 p75 p90 p99 p100 Samples
main 377 370 360 351 343 280 208 1736
pull_request 384 379 376 361 351 294 135 1786
Δ 7 9 16 10 8 14 -73 50
Improvement % 2 2 4 3 2 5 -35 50

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 1736
pull_request 4 4 4 4 4 4 4 1786
Δ 0 0 0 0 0 0 0 50
Improvement % 0 0 0 0 0 0 0 50

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