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

Add support for more value types to IcedHashMap #8670

Closed
exalate-issue-sync bot opened this issue May 12, 2023 · 2 comments
Closed

Add support for more value types to IcedHashMap #8670

exalate-issue-sync bot opened this issue May 12, 2023 · 2 comments

Comments

@exalate-issue-sync
Copy link

Needed for PUBDEV-5975 in prevision of support for more metrics.

Refactored the implementation for IcedHashMap to remove some of its complexity and created a standard framework to add support for more values types (or also keys, but it's not recommended).

@exalate-issue-sync
Copy link
Author

Sebastien Poirier commented: {code}# Warmup: 2 iterations, 10 s each

Measurement: 5 iterations, 10 s each

Benchmark (arrayType) (array_values_length) (keyType) (n_entries) (valueType) Mode Cnt Score Error Units
IcedHashMapBench.writeMap None 1 String 10 String avgt 5 0.003 ± 0.004 ms/op
IcedHashMapBench.writeMap None 1 String 10 Boolean avgt 5 0.001 ± 0.001 ms/op
IcedHashMapBench.writeMap None 1 String 10 Integer avgt 5 0.001 ± 0.001 ms/op
IcedHashMapBench.writeMap None 1 String 10 Double avgt 5 0.001 ± 0.001 ms/op
IcedHashMapBench.writeMap None 1 String 1000 String avgt 5 0.210 ± 0.241 ms/op
IcedHashMapBench.writeMap None 1 String 1000 Boolean avgt 5 0.106 ± 0.028 ms/op
IcedHashMapBench.writeMap None 1 String 1000 Integer avgt 5 0.102 ± 0.031 ms/op
IcedHashMapBench.writeMap None 1 String 1000 Double avgt 5 0.107 ± 0.004 ms/op
IcedHashMapBench.writeMap None 1 String 100000 String avgt 5 28.528 ± 39.315 ms/op
IcedHashMapBench.writeMap None 1 String 100000 Boolean avgt 5 12.860 ± 4.288 ms/op
IcedHashMapBench.writeMap None 1 String 100000 Integer avgt 5 13.840 ± 5.464 ms/op
IcedHashMapBench.writeMap None 1 String 100000 Double avgt 5 13.531 ± 0.690 ms/op
IcedHashMapBench.writeMap Array 100 String 10 String avgt 5 0.076 ± 0.004 ms/op
IcedHashMapBench.writeMap Array 100 String 10 Boolean avgt 5 0.003 ± 0.001 ms/op
IcedHashMapBench.writeMap Array 100 String 10 Integer avgt 5 0.005 ± 0.001 ms/op
IcedHashMapBench.writeMap Array 100 String 10 Double avgt 5 0.009 ± 0.001 ms/op
IcedHashMapBench.writeMap Array 100 String 1000 String avgt 5 7.731 ± 0.376 ms/op
IcedHashMapBench.writeMap Array 100 String 1000 Boolean avgt 5 0.314 ± 0.437 ms/op
IcedHashMapBench.writeMap Array 100 String 1000 Integer avgt 5 0.565 ± 0.244 ms/op
IcedHashMapBench.writeMap Array 100 String 1000 Double avgt 5 1.013 ± 0.067 ms/op
IcedHashMapBench.writeMap Array 100 String 100000 String avgt 5 860.828 ± 113.869 ms/op
IcedHashMapBench.writeMap Array 100 String 100000 Boolean avgt 5 56.731 ± 86.488 ms/op
IcedHashMapBench.writeMap Array 100 String 100000 Integer avgt 5 82.496 ± 31.610 ms/op
IcedHashMapBench.writeMap Array 100 String 100000 Double avgt 5 171.146 ± 44.723 ms/op
IcedHashMapBench.writeMap Array 10000 String 10 String avgt 5 8.192 ± 0.332 ms/op
IcedHashMapBench.writeMap Array 10000 String 10 Boolean avgt 5 0.171 ± 0.285 ms/op
IcedHashMapBench.writeMap Array 10000 String 10 Integer avgt 5 0.514 ± 0.276 ms/op
IcedHashMapBench.writeMap Array 10000 String 10 Double avgt 5 0.976 ± 0.321 ms/op
IcedHashMapBench.writeMap Array 10000 String 1000 String avgt 5 838.719 ± 101.351 ms/op
IcedHashMapBench.writeMap Array 10000 String 1000 Boolean avgt 5 17.527 ± 1.513 ms/op
IcedHashMapBench.writeMap Array 10000 String 1000 Integer avgt 5 86.915 ± 32.092 ms/op
IcedHashMapBench.writeMap Array 10000 String 1000 Double avgt 5 167.749 ± 53.612 ms/op
IcedHashMapBench.writeMap Array 10000 String 100000 Boolean avgt 5 3170.165 ± 1110.141 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 10 Boolean avgt 5 0.002 ± 0.001 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 10 Integer avgt 5 0.005 ± 0.005 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 10 Double avgt 5 0.008 ± 0.003 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 1000 Boolean avgt 5 0.181 ± 0.010 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 1000 Integer avgt 5 0.440 ± 0.023 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 1000 Double avgt 5 0.938 ± 0.898 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 100000 Boolean avgt 5 25.393 ± 7.409 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 100000 Integer avgt 5 65.588 ± 17.808 ms/op
IcedHashMapBench.writeMap PrimitiveArray 100 String 100000 Double avgt 5 121.121 ± 52.521 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 10 Boolean avgt 5 0.070 ± 0.011 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 10 Integer avgt 5 0.332 ± 0.062 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 10 Double avgt 5 0.683 ± 0.200 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 1000 Boolean avgt 5 9.007 ± 0.877 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 1000 Integer avgt 5 43.579 ± 14.765 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 1000 Double avgt 5 121.771 ± 156.747 ms/op
IcedHashMapBench.writeMap PrimitiveArray 10000 String 100000 Boolean avgt 5 1700.628 ± 909.079 ms/op
IcedHashMapBench.writeReadMap None 1 String 10 String avgt 5 0.005 ± 0.001 ms/op
IcedHashMapBench.writeReadMap None 1 String 10 Boolean avgt 5 0.004 ± 0.001 ms/op
IcedHashMapBench.writeReadMap None 1 String 10 Integer avgt 5 0.003 ± 0.001 ms/op
IcedHashMapBench.writeReadMap None 1 String 10 Double avgt 5 0.004 ± 0.001 ms/op
IcedHashMapBench.writeReadMap None 1 String 1000 String avgt 5 0.450 ± 0.019 ms/op
IcedHashMapBench.writeReadMap None 1 String 1000 Boolean avgt 5 0.287 ± 0.012 ms/op
IcedHashMapBench.writeReadMap None 1 String 1000 Integer avgt 5 0.325 ± 0.235 ms/op
IcedHashMapBench.writeReadMap None 1 String 1000 Double avgt 5 0.319 ± 0.106 ms/op
IcedHashMapBench.writeReadMap None 1 String 100000 String avgt 5 52.353 ± 3.499 ms/op
IcedHashMapBench.writeReadMap None 1 String 100000 Boolean avgt 5 34.886 ± 3.637 ms/op
IcedHashMapBench.writeReadMap None 1 String 100000 Integer avgt 5 40.865 ± 33.993 ms/op
IcedHashMapBench.writeReadMap None 1 String 100000 Double avgt 5 36.927 ± 11.166 ms/op
IcedHashMapBench.writeReadMap Array 100 String 10 String avgt 5 0.144 ± 0.012 ms/op
IcedHashMapBench.writeReadMap Array 100 String 10 Boolean avgt 5 0.008 ± 0.001 ms/op
IcedHashMapBench.writeReadMap Array 100 String 10 Integer avgt 5 0.015 ± 0.012 ms/op
IcedHashMapBench.writeReadMap Array 100 String 10 Double avgt 5 0.022 ± 0.011 ms/op
IcedHashMapBench.writeReadMap Array 100 String 1000 String avgt 5 14.509 ± 4.402 ms/op
IcedHashMapBench.writeReadMap Array 100 String 1000 Boolean avgt 5 0.745 ± 0.055 ms/op
IcedHashMapBench.writeReadMap Array 100 String 1000 Integer avgt 5 1.312 ± 0.540 ms/op
IcedHashMapBench.writeReadMap Array 100 String 1000 Double avgt 5 2.160 ± 0.294 ms/op
IcedHashMapBench.writeReadMap Array 100 String 100000 String avgt 5 1775.172 ± 719.833 ms/op
IcedHashMapBench.writeReadMap Array 100 String 100000 Boolean avgt 5 96.517 ± 10.880 ms/op
IcedHashMapBench.writeReadMap Array 100 String 100000 Integer avgt 5 176.524 ± 44.948 ms/op
IcedHashMapBench.writeReadMap Array 100 String 100000 Double avgt 5 317.270 ± 132.735 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 10 String avgt 5 16.178 ± 4.267 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 10 Boolean avgt 5 0.424 ± 0.022 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 10 Integer avgt 5 1.089 ± 0.059 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 10 Double avgt 5 2.274 ± 2.199 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 1000 String avgt 5 1577.812 ± 414.216 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 1000 Boolean avgt 5 46.388 ± 4.408 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 1000 Integer avgt 5 143.837 ± 12.526 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 1000 Double avgt 5 324.855 ± 471.710 ms/op
IcedHashMapBench.writeReadMap Array 10000 String 100000 Boolean avgt 5 22953.550 ± 115707.532 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 10 Boolean avgt 5 0.006 ± 0.001 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 10 Integer avgt 5 0.008 ± 0.001 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 10 Double avgt 5 0.015 ± 0.005 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 1000 Boolean avgt 5 0.475 ± 0.016 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 1000 Integer avgt 5 0.825 ± 0.047 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 1000 Double avgt 5 1.715 ± 1.982 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 100000 Boolean avgt 5 65.529 ± 29.239 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 100000 Integer avgt 5 112.125 ± 22.015 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 100 String 100000 Double avgt 5 205.087 ± 46.543 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 10 Boolean avgt 5 0.204 ± 0.193 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 10 Integer avgt 5 0.565 ± 0.201 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 10 Double avgt 5 1.189 ± 0.068 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 1000 Boolean avgt 5 20.127 ± 1.300 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 1000 Integer avgt 5 75.003 ± 35.469 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 1000 Double avgt 5 170.052 ± 52.703 ms/op
IcedHashMapBench.writeReadMap PrimitiveArray 10000 String 100000 Boolean avgt 5 2849.114 ± 923.318 ms/op
{code}

@h2o-ops
Copy link
Collaborator

h2o-ops commented May 14, 2023

JIRA Issue Migration Info

Jira Issue: PUBDEV-6969
Assignee: Sebastien Poirier
Reporter: Sebastien Poirier
State: Resolved
Fix Version: 3.28.0.1
Attachments: N/A
Development PRs: Available

Linked PRs from JIRA

#3973

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant