Skip to content

perf: some small refactors to improve perf#15

Merged
latonis merged 2 commits into
mainfrom
jl/perf
May 17, 2026
Merged

perf: some small refactors to improve perf#15
latonis merged 2 commits into
mainfrom
jl/perf

Conversation

@latonis

@latonis latonis commented May 17, 2026

Copy link
Copy Markdown
Owner

I think there is a breaking change coming with a refactor, but not yet :)

@github-actions

Copy link
Copy Markdown

Benchmark Results

flatten_inputs/default/small
                        time:   [1.0137 µs 1.0152 µs 1.0169 µs]
                        thrpt:  [983.41 Kelem/s 985.06 Kelem/s 986.53 Kelem/s]
                 change:
                        time:   [-0.9682% -0.4210% +0.0174%] (p = 0.10 > 0.05)
                        thrpt:  [-0.0174% +0.4227% +0.9777%]
flatten_inputs/preserve_arrays/small
                        time:   [1.1054 µs 1.1070 µs 1.1086 µs]
                        thrpt:  [902.00 Kelem/s 903.38 Kelem/s 904.68 Kelem/s]
                 change:
                        time:   [-2.0995% -1.7154% -1.4151%] (p = 0.00 < 0.05)
                        thrpt:  [+1.4354% +1.7453% +2.1445%]
                        Performance has improved.
flatten_inputs/alt_array_flattening/small
                        time:   [1.1019 µs 1.1042 µs 1.1067 µs]
                        thrpt:  [903.56 Kelem/s 905.66 Kelem/s 907.53 Kelem/s]
                 change:
                        time:   [-2.4374% -2.0841% -1.8029%] (p = 0.00 < 0.05)
                        thrpt:  [+1.8360% +2.1284% +2.4983%]
                        Performance has improved.
flatten_inputs/default/medium
                        time:   [49.005 µs 49.043 µs 49.081 µs]
                        thrpt:  [20.375 Kelem/s 20.390 Kelem/s 20.406 Kelem/s]
                 change:
                        time:   [+1.3593% +1.6275% +1.8035%] (p = 0.00 < 0.05)
                        thrpt:  [-1.7716% -1.6015% -1.3410%]
                        Performance has regressed.
flatten_inputs/preserve_arrays/medium
                        time:   [47.405 µs 47.442 µs 47.480 µs]
                        thrpt:  [21.061 Kelem/s 21.079 Kelem/s 21.095 Kelem/s]
                 change:
                        time:   [-1.9810% -1.8121% -1.6580%] (p = 0.00 < 0.05)
                        thrpt:  [+1.6860% +1.8455% +2.0210%]
                        Performance has improved.
flatten_inputs/alt_array_flattening/medium
                        time:   [49.620 µs 49.658 µs 49.700 µs]
                        thrpt:  [20.121 Kelem/s 20.138 Kelem/s 20.153 Kelem/s]
                 change:
                        time:   [+2.3959% +2.6394% +2.8310%] (p = 0.00 < 0.05)
                        thrpt:  [-2.7531% -2.5716% -2.3399%]
                        Performance has regressed.
flatten_inputs/default/large
                        time:   [1.1332 ms 1.1360 ms 1.1382 ms]
                        thrpt:  [878.55  elem/s 880.28  elem/s 882.46  elem/s]
                 change:
                        time:   [+9.7852% +10.479% +11.050%] (p = 0.00 < 0.05)
                        thrpt:  [-9.9506% -9.4847% -8.9131%]
                        Performance has regressed.
flatten_inputs/preserve_arrays/large
                        time:   [1.1076 ms 1.1088 ms 1.1104 ms]
                        thrpt:  [900.58  elem/s 901.85  elem/s 902.87  elem/s]
                 change:
                        time:   [+8.7426% +9.1281% +9.4124%] (p = 0.00 < 0.05)
                        thrpt:  [-8.6027% -8.3646% -8.0397%]
                        Performance has regressed.
flatten_inputs/alt_array_flattening/large
                        time:   [1.1177 ms 1.1186 ms 1.1195 ms]
                        thrpt:  [893.22  elem/s 893.96  elem/s 894.67  elem/s]
                 change:
                        time:   [+9.8832% +10.056% +10.229%] (p = 0.00 < 0.05)
                        thrpt:  [-9.2799% -9.1371% -8.9943%]
                        Performance has regressed.
flatten_collisions/collisions_default/10
                        time:   [1.6604 µs 1.6627 µs 1.6655 µs]
                        thrpt:  [600.42 Kelem/s 601.43 Kelem/s 602.26 Kelem/s]
                 change:
                        time:   [-5.7848% -5.5019% -5.2154%] (p = 0.00 < 0.05)
                        thrpt:  [+5.5023% +5.8222% +6.1400%]
                        Performance has improved.
flatten_collisions/collisions_alt_flatten/10
                        time:   [1.6193 µs 1.6205 µs 1.6217 µs]
                        thrpt:  [616.63 Kelem/s 617.11 Kelem/s 617.56 Kelem/s]
                 change:
                        time:   [-5.1891% -4.9606% -4.7898%] (p = 0.00 < 0.05)
                        thrpt:  [+5.0308% +5.2195% +5.4730%]
                        Performance has improved.
flatten_collisions/collisions_default/100
                        time:   [14.704 µs 14.746 µs 14.797 µs]
                        thrpt:  [67.579 Kelem/s 67.815 Kelem/s 68.008 Kelem/s]
                 change:
                        time:   [-4.8086% -4.3075% -3.8418%] (p = 0.00 < 0.05)
                        thrpt:  [+3.9953% +4.5015% +5.0515%]
                        Performance has improved.
flatten_collisions/collisions_alt_flatten/100
                        time:   [15.093 µs 15.102 µs 15.112 µs]
                        thrpt:  [66.174 Kelem/s 66.217 Kelem/s 66.255 Kelem/s]
                 change:
                        time:   [-3.0518% -2.8329% -2.6499%] (p = 0.00 < 0.05)
                        thrpt:  [+2.7221% +2.9155% +3.1479%]
                        Performance has improved.
flatten_collisions/collisions_default/1000
                        time:   [139.76 µs 140.15 µs 140.62 µs]
                        thrpt:  [7.1112 Kelem/s 7.1350 Kelem/s 7.1554 Kelem/s]
                 change:
                        time:   [-3.4281% -2.5766% -1.8046%] (p = 0.00 < 0.05)
                        thrpt:  [+1.8378% +2.6448% +3.5498%]
                        Performance has improved.
flatten_collisions/collisions_alt_flatten/1000
                        time:   [141.73 µs 141.92 µs 142.10 µs]
                        thrpt:  [7.0373 Kelem/s 7.0464 Kelem/s 7.0558 Kelem/s]
                 change:
                        time:   [-1.9190% -1.6944% -1.4909%] (p = 0.00 < 0.05)
                        thrpt:  [+1.5134% +1.7236% +1.9566%]
                        Performance has improved.


Benchmarked on commit 4c9aaef92eced0f2eb5bf3a59d08b39ed321ef51

@latonis
latonis merged commit eef9c26 into main May 17, 2026
4 checks passed
@latonis
latonis deleted the jl/perf branch May 17, 2026 17:08
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