Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix x/into perf problem when from is a small map #47

Merged
merged 1 commit into from
Aug 1, 2022

Conversation

imrekoszo
Copy link
Collaborator

Fixes #46

Running the benchmark in the issue with this patch applied:

Clojure version: 1.11.1
OpenJDK 64-Bit Server VM 17.0.3+7
aarch64 Mac OS X 12.4 10 cpu(s)
scenario \ map size 10 100 200 400 1000 100000
into with lazy sequence Mean : 1.543115 µs
Std dev : 74.096832 ns
Mean : 13.554687 µs
Std dev : 212.790406 ns
Mean : 29.745477 µs
Std dev : 437.020103 ns
Mean : 60.914399 µs
Std dev : 760.676832 ns
Mean : 164.725324 µs
Std dev : 2.798719 µs
Mean : 22.623237 ms
Std dev : 1.162465 ms
into with mapping transducer Mean : 1.078052 µs
Std dev : 9.510384 ns
Mean : 8.730882 µs
Std dev : 131.245677 ns
Mean : 18.825701 µs
Std dev : 384.670849 ns
Mean : 42.722064 µs
Std dev : 1.068641 µs
Mean : 125.213860 µs
Std dev : 1.988375 µs
Mean : 14.802933 ms
Std dev : 896.219721 µs
into with x/for (pairs are still allocated) Mean : 1.156310 µs
Std dev : 55.035046 ns
Mean : 9.152297 µs
Std dev : 207.288913 ns
Mean : 19.185797 µs
Std dev : 445.804428 ns
Mean : 38.622354 µs
Std dev : 692.745875 ns
Mean : 114.455384 µs
Std dev : 1.517074 µs
Mean : 14.319536 ms
Std dev : 589.525520 µs
x/into with x/for (no pairs are allocated) Mean : 887.198164 ns
Std dev : 12.923610 ns
Mean : 6.467227 µs
Std dev : 90.389159 ns
Mean : 13.624259 µs
Std dev : 293.163150 ns
Mean : 28.783594 µs
Std dev : 469.029563 ns
Mean : 94.237069 µs
Std dev : 1.238456 µs
Mean : 12.222721 ms
Std dev : 538.363673 µs
Clojure version: 1.10.3
OpenJDK 64-Bit Server VM 17.0.3+7
aarch64 Mac OS X 12.4 10 cpu(s)
scenario \ map size 10 100 200 400 1000 100000
into with lazy sequence Mean : 1.644410 µs
Std dev : 74.986627 ns
Mean : 13.547017 µs
Std dev : 125.017175 ns
Mean : 29.833104 µs
Std dev : 664.505536 ns
Mean : 60.201780 µs
Std dev : 415.495164 ns
Mean : 165.078699 µs
Std dev : 5.454604 µs
Mean : 20.301775 ms
Std dev : 1.091515 ms
into with mapping transducer Mean : 1.122730 µs
Std dev : 8.933537 ns
Mean : 8.492994 µs
Std dev : 66.904663 ns
Mean : 18.163391 µs
Std dev : 437.698008 ns
Mean : 40.929538 µs
Std dev : 1.055513 µs
Mean : 119.381391 µs
Std dev : 1.290552 µs
Mean : 13.718284 ms
Std dev : 464.498588 µs
into with x/for (pairs are still allocated) Mean : 1.182577 µs
Std dev : 22.264746 ns
Mean : 8.820678 µs
Std dev : 204.735901 ns
Mean : 18.431944 µs
Std dev : 393.307489 ns
Mean : 37.580225 µs
Std dev : 392.065126 ns
Mean : 110.498578 µs
Std dev : 676.252801 ns
Mean : 14.243484 ms
Std dev : 576.655867 µs
x/into with x/for (no pairs are allocated) Mean : 844.281597 ns
Std dev : 10.933787 ns
Mean : 5.731170 µs
Std dev : 70.859209 ns
Mean : 11.506273 µs
Std dev : 130.308292 ns
Mean : 24.833573 µs
Std dev : 328.541565 ns
Mean : 80.147593 µs
Std dev : 390.259825 ns
Mean : 11.272223 ms
Std dev : 735.447253 µs

@imrekoszo imrekoszo merged commit 8191719 into cgrand:master Aug 1, 2022
@imrekoszo imrekoszo deleted the intoperf branch January 22, 2024 20:51
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.

x/into is slow when from is a small map
1 participant