Skip to content

Conversation

@bitfaster
Copy link
Owner

@bitfaster bitfaster commented Oct 9, 2022

Compare flat vs block sketch.

Original test method (Skylake)

244e321

Method Size Mean Error StdDev Ratio Allocated
IncFlat 32768 21.09 ns 0.064 ns 0.054 ns 1.00 -
IncFlatAvx 32768 15.45 ns 0.070 ns 0.062 ns 0.73 -
IncBlock 32768 20.74 ns 0.045 ns 0.042 ns 0.98 -
IncBlockAvx 32768 11.72 ns 0.065 ns 0.054 ns 0.56 -
IncFlat 524288 35.50 ns 0.617 ns 0.577 ns 1.00 -
IncFlatAvx 524288 25.50 ns 0.428 ns 0.400 ns 0.72 -
IncBlock 524288 31.83 ns 0.227 ns 0.212 ns 0.90 -
IncBlockAvx 524288 22.73 ns 0.454 ns 0.574 ns 0.64 -
IncFlat 8388608 116.32 ns 0.532 ns 0.497 ns 1.00 -
IncFlatAvx 8388608 81.99 ns 0.432 ns 0.404 ns 0.70 -
IncBlock 8388608 103.21 ns 0.540 ns 0.478 ns 0.89 -
IncBlockAvx 8388608 69.36 ns 0.600 ns 0.561 ns 0.60 -
IncFlat 134217728 151.69 ns 3.020 ns 7.059 ns 1.00 -
IncFlatAvx 134217728 112.55 ns 0.635 ns 0.530 ns 0.70 -
IncBlock 134217728 129.86 ns 1.919 ns 2.054 ns 0.82 -
IncBlockAvx 134217728 77.57 ns 1.332 ns 1.246 ns 0.49 -
Method Size Mean Error StdDev Ratio Allocated
FrequencyFlat 32768 30.89 ns 0.307 ns 0.272 ns 1.00 -
FrequencyFlatAvx 32768 22.82 ns 0.052 ns 0.046 ns 0.74 -
FrequencyBlock 32768 26.51 ns 0.087 ns 0.077 ns 0.86 -
FrequencyBlockAvx 32768 15.96 ns 0.064 ns 0.057 ns 0.52 -
FrequencyFlat 524288 46.44 ns 0.799 ns 0.708 ns 1.00 -
FrequencyFlatAvx 524288 40.69 ns 0.778 ns 0.832 ns 0.88 -
FrequencyBlock 524288 37.70 ns 0.452 ns 0.422 ns 0.81 -
FrequencyBlockAvx 524288 24.58 ns 0.484 ns 0.453 ns 0.53 -
FrequencyFlat 8388608 136.51 ns 0.864 ns 0.809 ns 1.00 -
FrequencyFlatAvx 8388608 134.37 ns 1.153 ns 1.022 ns 0.98 -
FrequencyBlock 8388608 117.41 ns 0.473 ns 0.442 ns 0.86 -
FrequencyBlockAvx 8388608 65.48 ns 0.438 ns 0.389 ns 0.48 -
FrequencyFlat 134217728 174.61 ns 1.291 ns 1.207 ns 1.00 -
FrequencyFlatAvx 134217728 171.92 ns 0.942 ns 0.835 ns 0.98 -
FrequencyBlock 134217728 147.15 ns 2.629 ns 4.015 ns 0.85 -
FrequencyBlockAvx 134217728 78.25 ns 1.076 ns 0.898 ns 0.45 -
Ben's test method (zipf) (Skylake)

9df4668

Method Size Mean Error StdDev Ratio Allocated
IncFlat 32768 20.81 ns 0.061 ns 0.051 ns 1.00 -
IncFlatAvx 32768 16.29 ns 0.052 ns 0.046 ns 0.78 -
IncBlock 32768 18.88 ns 0.058 ns 0.055 ns 0.91 -
IncBlockAvx 32768 13.36 ns 0.073 ns 0.065 ns 0.64 -
IncFlat 524288 22.71 ns 0.120 ns 0.112 ns 1.00 -
IncFlatAvx 524288 19.40 ns 0.081 ns 0.076 ns 0.85 -
IncBlock 524288 18.72 ns 0.087 ns 0.077 ns 0.82 -
IncBlockAvx 524288 15.02 ns 0.059 ns 0.052 ns 0.66 -
IncFlat 8388608 30.37 ns 0.149 ns 0.132 ns 1.00 -
IncFlatAvx 8388608 26.55 ns 0.093 ns 0.087 ns 0.87 -
IncBlock 8388608 22.82 ns 0.138 ns 0.129 ns 0.75 -
IncBlockAvx 8388608 17.61 ns 0.114 ns 0.107 ns 0.58 -
IncFlat 134217728 43.17 ns 0.354 ns 0.296 ns 1.00 -
IncFlatAvx 134217728 38.80 ns 0.230 ns 0.204 ns 0.90 -
IncBlock 134217728 28.42 ns 0.560 ns 0.623 ns 0.65 -
IncBlockAvx 134217728 22.99 ns 0.584 ns 1.637 ns 0.55 -
Method Size Mean Error StdDev Ratio Allocated
FrequencyFlat 32768 20.020 ns 0.0283 ns 0.0221 ns 1.00 -
FrequencyFlatAvx 32768 12.780 ns 0.0457 ns 0.0427 ns 0.64 -
FrequencyBlock 32768 17.327 ns 0.0365 ns 0.0305 ns 0.87 -
FrequencyBlockAvx 32768 9.194 ns 0.0462 ns 0.0386 ns 0.46 -
FrequencyFlat 524288 18.527 ns 0.0946 ns 0.0885 ns 1.00 -
FrequencyFlatAvx 524288 15.830 ns 0.0820 ns 0.0767 ns 0.85 -
FrequencyBlock 524288 15.939 ns 0.1323 ns 0.1237 ns 0.86 -
FrequencyBlockAvx 524288 9.880 ns 0.0331 ns 0.0258 ns 0.53 -
FrequencyFlat 8388608 25.192 ns 0.1657 ns 0.1550 ns 1.00 -
FrequencyFlatAvx 8388608 23.268 ns 0.1837 ns 0.1718 ns 0.92 -
FrequencyBlock 8388608 18.293 ns 0.1739 ns 0.1452 ns 0.73 -
FrequencyBlockAvx 8388608 13.501 ns 0.2050 ns 0.3749 ns 0.54 -
FrequencyFlat 134217728 37.112 ns 0.2152 ns 0.1797 ns 1.00 -
FrequencyFlatAvx 134217728 34.968 ns 0.3413 ns 0.2850 ns 0.94 -
FrequencyBlock 134217728 22.669 ns 0.2658 ns 0.2486 ns 0.61 -
FrequencyBlockAvx 134217728 17.141 ns 0.1361 ns 0.1136 ns 0.46 -
Original test method (AMD Zen3)

244e321

Method Size Mean Error StdDev Ratio Allocated
IncFlat 32768 14.52 ns 0.097 ns 0.091 ns 1.00 -
IncFlatAvx 32768 13.20 ns 0.009 ns 0.007 ns 0.91 -
IncBlock 32768 25.98 ns 0.060 ns 0.053 ns 1.79 -
IncBlockAvx 32768 10.09 ns 0.011 ns 0.009 ns 0.69 -
IncFlat 524288 21.90 ns 0.024 ns 0.022 ns 1.00 -
IncFlatAvx 524288 18.86 ns 0.026 ns 0.024 ns 0.86 -
IncBlock 524288 30.74 ns 0.600 ns 0.898 ns 1.38 -
IncBlockAvx 524288 19.58 ns 0.234 ns 0.207 ns 0.89 -
IncFlat 8388608 95.23 ns 0.330 ns 0.309 ns 1.00 -
IncFlatAvx 8388608 67.88 ns 1.036 ns 0.969 ns 0.71 -
IncBlock 8388608 70.52 ns 1.378 ns 1.289 ns 0.74 -
IncBlockAvx 8388608 44.46 ns 0.536 ns 0.501 ns 0.47 -
IncFlat 134217728 113.87 ns 0.688 ns 0.643 ns 1.00 -
IncFlatAvx 134217728 84.88 ns 1.026 ns 0.960 ns 0.75 -
IncBlock 134217728 98.08 ns 0.705 ns 0.660 ns 0.86 -
IncBlockAvx 134217728 56.42 ns 0.238 ns 0.222 ns 0.50 -
Method Size Mean Error StdDev Ratio Allocated
FrequencyFlat 32768 22.44 ns 0.061 ns 0.057 ns 1.00 -
FrequencyFlatAvx 32768 23.34 ns 0.011 ns 0.011 ns 1.04 -
FrequencyBlock 32768 15.59 ns 0.032 ns 0.026 ns 0.69 -
FrequencyBlockAvx 32768 15.09 ns 0.286 ns 0.330 ns 0.67 -
FrequencyFlat 524288 29.62 ns 0.028 ns 0.025 ns 1.00 -
FrequencyFlatAvx 524288 31.85 ns 0.011 ns 0.010 ns 1.08 -
FrequencyBlock 524288 23.47 ns 0.019 ns 0.018 ns 0.79 -
FrequencyBlockAvx 524288 23.85 ns 0.473 ns 1.039 ns 0.80 -
FrequencyFlat 8388608 106.44 ns 0.583 ns 0.546 ns 1.00 -
FrequencyFlatAvx 8388608 109.76 ns 0.533 ns 0.499 ns 1.03 -
FrequencyBlock 8388608 76.16 ns 1.508 ns 1.907 ns 0.71 -
FrequencyBlockAvx 8388608 74.30 ns 1.467 ns 2.327 ns 0.70 -
FrequencyFlat 134217728 124.50 ns 0.509 ns 0.476 ns 1.00 -
FrequencyFlatAvx 134217728 127.83 ns 0.635 ns 0.594 ns 1.03 -
FrequencyBlock 134217728 102.65 ns 0.990 ns 0.926 ns 0.82 -
FrequencyBlockAvx 134217728 100.06 ns 1.119 ns 1.047 ns 0.80 -
Ben's test method (zipf) (AMD Zen3)

9df4668

Method Size Mean Error StdDev Ratio Allocated
IncFlat 32768 14.72 ns 0.005 ns 0.005 ns 1.00 -
IncFlatAvx 32768 13.54 ns 0.002 ns 0.002 ns 0.92 -
IncBlock 32768 13.01 ns 0.025 ns 0.024 ns 0.88 -
IncBlockAvx 32768 10.63 ns 0.006 ns 0.005 ns 0.72 -
IncFlat 524288 15.96 ns 0.018 ns 0.016 ns 1.00 -
IncFlatAvx 524288 16.40 ns 0.016 ns 0.015 ns 1.03 -
IncBlock 524288 13.80 ns 0.009 ns 0.008 ns 0.86 -
IncBlockAvx 524288 12.03 ns 0.008 ns 0.007 ns 0.75 -
IncFlat 8388608 20.01 ns 0.018 ns 0.016 ns 1.00 -
IncFlatAvx 8388608 20.55 ns 0.012 ns 0.011 ns 1.03 -
IncBlock 8388608 33.62 ns 0.041 ns 0.039 ns 1.68 -
IncBlockAvx 8388608 13.75 ns 0.013 ns 0.011 ns 0.69 -
IncFlat 134217728 23.27 ns 0.033 ns 0.027 ns 1.00 -
IncFlatAvx 134217728 23.55 ns 0.024 ns 0.018 ns 1.01 -
IncBlock 134217728 18.26 ns 0.015 ns 0.014 ns 0.78 -
IncBlockAvx 134217728 15.50 ns 0.209 ns 0.195 ns 0.67 -
Method Size Mean Error StdDev Ratio Allocated
FrequencyFlat 32768 14.449 ns 0.0647 ns 0.0605 ns 1.00 -
FrequencyFlatAvx 32768 27.311 ns 0.0083 ns 0.0078 ns 1.89 -
FrequencyBlock 32768 11.379 ns 0.0033 ns 0.0026 ns 0.79 -
FrequencyBlockAvx 32768 8.065 ns 0.0046 ns 0.0041 ns 0.56 -
FrequencyFlat 524288 14.365 ns 0.0101 ns 0.0084 ns 1.00 -
FrequencyFlatAvx 524288 31.694 ns 0.0390 ns 0.0365 ns 2.21 -
FrequencyBlock 524288 11.254 ns 0.0107 ns 0.0095 ns 0.78 -
FrequencyBlockAvx 524288 9.643 ns 0.0104 ns 0.0098 ns 0.67 -
FrequencyFlat 8388608 18.463 ns 0.0130 ns 0.0122 ns 1.00 -
FrequencyFlatAvx 8388608 35.710 ns 0.0107 ns 0.0101 ns 1.93 -
FrequencyBlock 8388608 13.130 ns 0.0178 ns 0.0167 ns 0.71 -
FrequencyBlockAvx 8388608 11.306 ns 0.0079 ns 0.0070 ns 0.61 -
FrequencyFlat 134217728 21.644 ns 0.0462 ns 0.0432 ns 1.00 -
FrequencyFlatAvx 134217728 38.487 ns 0.0493 ns 0.0461 ns 1.78 -
FrequencyBlock 134217728 14.615 ns 0.0173 ns 0.0153 ns 0.68 -
FrequencyBlockAvx 134217728 12.892 ns 0.0050 ns 0.0045 ns 0.60 -

@bitfaster bitfaster mentioned this pull request Oct 9, 2022
Alex Peck added 2 commits November 2, 2022 18:59
This reverts commit 9df4668.
@coveralls
Copy link

Coverage Status

Coverage remained the same at 96.437% when pulling f98a691 on users/alexpeck/sketchbench into 3d500e9 on main.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage remained the same at 96.437% when pulling f98a691 on users/alexpeck/sketchbench into 3d500e9 on main.

@bitfaster bitfaster marked this pull request as ready for review November 3, 2022 02:36
@bitfaster bitfaster merged commit 835596d into main Nov 3, 2022
@bitfaster bitfaster deleted the users/alexpeck/sketchbench branch January 14, 2023 02: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.

3 participants