Skip to content

Latest commit

 

History

History
511 lines (473 loc) · 42 KB

BENCHMARKS.md

File metadata and controls

511 lines (473 loc) · 42 KB

Benchmarks

Info

Benchmarks were made using Jmh version 1.35 and JDK 17.0.2 Java HotSpot(TM) on a Ryzen 9 7900 and the following libraries:

  • Primitive Collections 0.8.0
  • FastUtil 8.5.12
  • HPPC 0.9.1
  • Eclipse Collections 11.1.0

The results may differ for each JVM.

Each benchmark was created using Average Time with 2 Warmup Iterations (3s) and 5 Iterations (2s) and using Primitive Values (objects for Java Collections)
Score is the amount of time it took to do each operation in Microseconds (according to Jmh)
The Variable Size defines the amount of elements the Collection had to deal with.
These are used in 2 ways.

  • If the function is a "add/put" it is the amount of elements that are added into the empty collection.
  • If the function is not a "add/put" its the amount of elements that are inside of the Collection and a 100 random elements (within range) are tested against.

Another definition is "addEmptyCollection". The Empty stands for the Collection was initialized without a expected size.
While the "addCollection" is prepared with how many elements are about to be inserted.
KeySets/Values are forEach Iterators

Also JavaValues inside TreeSets/Maps are Javas "TreeMap/Set" implementation and are a RedBlack Tree Implementation.

1* It takes 3-4 hours to test everything so short tests for now until i can't wait like 8-16 hours with slower Benchmarks

Now to the Benchmarks

ArrayList

Action Size Java Score Eclipse Score HPPC Score FastUtil Score PC Score Units
add 100 38,052 8,595 25,354 3,99 4,013 µs/op
add 1000 409,111 91,513 209,41 30,708 30,778 µs/op
add 10000 4.370,611 1.052,312 2.251,535 377,974 377,885 µs/op
addEmpty 100 55,076 28,855 35,91 28,662 29,057 µs/op
addEmpty 1000 642,573 317,48 707,831 403,672 394,643 µs/op
addEmpty 10000 5.997,411 3.129,557 3.696,477 3.413,293 3.293,844 µs/op
contains 100 394,385 259,28 237,46 230,512 231,052 µs/op
contains 1000 4.619,153 1.509,67 1.417,266 1.429,884 1.417,053 µs/op
contains 10000 65.689,478 14.984,665 14.343,377 14.387,613 14.386,189 µs/op
get 100 15,615 16,172 13,118 15,228 15,631 µs/op
get 1000 15,657 16,104 13,116 15,286 15,625 µs/op
get 10000 15,653 16,198 13,094 15,274 15,598 µs/op
indexOf 100 396,36 241,163 233,179 230,843 236,588 µs/op
indexOf 1000 4.642,415 1.494,579 1.421,046 1.422,492 1.424,91 µs/op
indexOf 10000 66.701,295 14.984,225 14.333,464 14.379,675 14.363,945 µs/op
iterateForEach 100 6,06 9,638 10,812 9,268 9,339 µs/op
iterateForEach 1000 78,612 87,892 85,411 84,168 84,475 µs/op
iterateForEach 10000 921,746 897,66 4.054,995 863,956 862,588 µs/op
iterateForLoop 100 14,823 10,409 19,686 9,926 9,829 µs/op
iterateForLoop 1000 148,764 97,876 85,328 92,818 87,573 µs/op
iterateForLoop 10000 2.465,862 968,82 846,603 917,739 869,764 µs/op
iterateIndex 100 15,187 14,956 12,934 13,642 13,683 µs/op
iterateIndex 1000 146,074 138,101 124,629 127,955 128,957 µs/op
iterateIndex 10000 1.450,338 1.350,443 1.240,066 1.273,607 1.288,285 µs/op
iterateStream 100 6,028 2,81 32,898 15,701 2,674 µs/op
iterateStream 1000 57,296 15,732 297,667 147,153 14,669 µs/op
iterateStream 10000 915,758 158,44 2.957,59 1.459,343 151,749 µs/op
lastIndexOf 100 421,355 271,671 252,414 244,772 254,722 µs/op
lastIndexOf 1000 4.635,349 1.467,081 1.388,749 1.409,404 1.414,355 µs/op
lastIndexOf 10000 61.952,144 14.493,969 13.829,957 13.857,601 14.026,326 µs/op
remove 100 287,772 131,256 125,496 123,497 122,901 µs/op
remove 1000 7.730,507 2.294,425 2.013,35 2.047,842 1.992,423 µs/op
remove 10000 99.444,316 21.673,436 21.364,139 21.495,868 21.114,303 µs/op
toArray 100 11,786 3,89 3,708 4,046 3,921 µs/op
toArray 1000 131,244 39,547 44,434 31,424 31,664 µs/op
toArray 10000 1.235,355 449,846 433,427 386,28 391,969 µs/op

LinkedList

Action Size Java Score PC Score Units
add 100 45,685 38,217 µs/op
add 1000 872,58 373,888 µs/op
add 10000 9.333,893 3.790,047 µs/op
contains 100 1.283,169 1.139,274 µs/op
contains 1000 30.988,172 11.422,898 µs/op
contains 10000 420.336,001 126.620,507 µs/op
iterateForEach 100 21,95 19,464 µs/op
iterateForEach 1000 522,763 187,593 µs/op
iterateForEach 10000 5.790,516 1.885,766 µs/op
iterateForLoop 100 19,018 17,22 µs/op
iterateForLoop 1000 503,25 330,613 µs/op
iterateForLoop 10000 5.842,671 3.144,928 µs/op
iterateStream 100 20,495 22,137 µs/op
iterateStream 1000 453,695 212,47 µs/op
iterateStream 10000 6.142,871 2.066,905 µs/op
pollFirst 100 0,1 0,098 µs/op
pollFirst 1000 0,071 0,07 µs/op
pollFirst 10000 0,071 0,07 µs/op
pollLast 100 0,099 0,098 µs/op
pollLast 1000 0,072 0,07 µs/op
pollLast 10000 0,071 0,071 µs/op
remove 100 762,289 582,825 µs/op
remove 1000 46.137,107 17.680,819 µs/op
remove 10000 642.735,233 196.215,888 µs/op
toArray 100 27,177 22,34 µs/op
toArray 1000 334,977 266,844 µs/op
toArray 10000 3.314,98 2.521,965 µs/op

FIFOQueue

Action Size Java Score HPPC Score FastUtil Score PC Score Units
add 100 32,338 8,87 8,842 8,587 µs/op
add 1000 353,187 116,666 86,584 88,128 µs/op
add 10000 3.806,003 1.305,078 1.591,706 1.017,295 µs/op
addEmpty 100 60,852 39,491 28,669 28,472 µs/op
addEmpty 1000 662,112 325,726 215,116 203,187 µs/op
addEmpty 10000 6.348,947 3.866,101 2.800,221 2.653,82 µs/op
contains 100 512,04 N/A N/A N/A µs/op
contains 1000 5.251,208 N/A N/A N/A µs/op
contains 10000 70.700,964 N/A N/A N/A µs/op
pollFirst 100 0,139 0,131 0,114 0,128 µs/op
pollFirst 1000 0,14 0,103 0,102 0,118 µs/op
pollFirst 10000 0,14 0,103 0,101 0,117 µs/op
pollLast 100 0,139 0,13 0,115 0,129 µs/op
pollLast 1000 0,14 0,103 0,101 0,117 µs/op
pollLast 10000 0,14 0,104 0,103 0,117 µs/op
remove 100 N/A N/A N/A 887,629 µs/op
remove 1000 N/A N/A N/A 19.745,274 µs/op
remove 10000 N/A N/A N/A 219.493,382 µs/op
toArray 100 14,308 N/A N/A 4,067 µs/op
toArray 1000 137,824 N/A N/A 31,905 µs/op
toArray 10000 1.243,685 N/A N/A 391,396 µs/op

HeapQueue

Action Size FastUtil Score PC Score Units
add 100 25,794 26,521 µs/op
add 1000 361,699 291,029 µs/op
add 10000 3.959,255 4.375,37 µs/op
addEmpty 100 55,425 57,729 µs/op
addEmpty 1000 475,535 546,433 µs/op
addEmpty 10000 4.913,985 7.713,326 µs/op
poll 100 0,116 0,113 µs/op
poll 1000 0,086 0,084 µs/op
poll 10000 0,086 0,084 µs/op
remove 100 N/A 128,688 µs/op
remove 1000 N/A 1.994,232 µs/op
remove 10000 N/A 21.109,374 µs/op
toArray 100 N/A 4,033 µs/op
toArray 1000 N/A 32,003 µs/op
toArray 10000 N/A 391,77 µs/op

ArrayQueue

Action Size FastUtil Score PC Score Units
add 100 8,637 8,673 µs/op
add 1000 89,79 86,318 µs/op
add 10000 1.058,412 1.015,512 µs/op
addEmpty 100 43,048 40,592 µs/op
addEmpty 1000 355,834 342,501 µs/op
addEmpty 10000 3.234,898 3.271,692 µs/op
poll 100 0,116 0,113 µs/op
poll 1000 0,093 0,086 µs/op
poll 10000 0,088 0,085 µs/op
remove 100 N/A 128,931 µs/op
remove 1000 N/A 2.000,568 µs/op
remove 10000 N/A 21.105,773 µs/op
toArray 100 N/A 4,041 µs/op
toArray 1000 N/A 32,176 µs/op
toArray 10000 N/A 389,959 µs/op

HashSet

Action Size Java Score Eclipse Score HPPC Score Koloboke Score FastUtil Score PC Score Units
add 100 125,692 23,945 27,657 35,0 27,114 24,053 µs/op
add 1000 1.255,833 390,703 220,611 428,49 210,377 241,467 µs/op
add 10000 19.928,398 4.897,518 2.458,675 5.098,649 2.369,492 2.836,515 µs/op
addEmpty 100 94,02 76,934 70,785 90,06 63,221 65,084 µs/op
addEmpty 1000 1.610,135 1.325,789 625,813 527,326 584,086 668,503 µs/op
addEmpty 10000 27.018,811 9.965,713 8.350,546 7.918,706 8.411,29 8.237,526 µs/op
contains 100 30,286 32,348 23,341 24,449 23,839 23,826 µs/op
contains 1000 39,766 54,789 22,287 23,702 23,855 23,958 µs/op
contains 10000 38,975 61,167 25,334 25,399 26,528 26,492 µs/op
iterateForEach 100 41,663 9,002 57,715 10,897 12,638 15,283 µs/op
iterateForEach 1000 415,577 161,093 460,945 124,963 153,746 161,24 µs/op
iterateForEach 10000 6.426,144 1.378,188 9.983,56 1.322,034 2.077,798 1.591,935 µs/op
iterateForLoop 100 42,192 25,324 59,047 21,945 15,91 23,001 µs/op
iterateForLoop 1000 383,121 219,646 474,089 190,713 143,737 208,313 µs/op
iterateForLoop 10000 6.938,187 1.779,347 11.496,698 2.552,738 1.656,387 2.446,131 µs/op
iterateStream 100 30,328 N/A 48,336 24,921 24,316 31,353 µs/op
iterateStream 1000 228,638 N/A 470,044 283,854 224,292 285,253 µs/op
iterateStream 10000 4.009,859 N/A 10.212,342 2.776,493 1.856,881 2.723,879 µs/op
remove 100 31,001 42,641 22,991 22,261 21,45 20,986 µs/op
remove 1000 33,872 54,22 31,371 34,202 22,463 21,749 µs/op
remove 10000 32,975 60,815 26,358 30,042 25,879 25,177 µs/op
toArray 100 22,72 11,466 35,424 11,811 18,1 22,656 µs/op
toArray 1000 257,421 143,209 283,019 135,33 177,375 208,953 µs/op
toArray 10000 2.932,502 1.621,865 7.311,188 1.600,862 2.057,673 2.381,514 µs/op

LinkedHashSet

Action Size Java Score HPPC Score FastUtil Score PC Score Units
add 100 142,31 57,524 44,222 41,062 µs/op
add 1000 1.506,993 532,919 478,627 545,28 µs/op
add 10000 21.043,049 5.885,55 4.794,994 5.737,523 µs/op
addEmpty 100 165,503 216,653 94,657 134,493 µs/op
addEmpty 1000 1.790,418 2.576,072 1.206,386 966,125 µs/op
addEmpty 10000 31.976,127 25.961,111 18.600,439 17.035,879 µs/op
contains 100 30,341 34,439 23,851 23,905 µs/op
contains 1000 39,981 33,594 23,913 23,892 µs/op
contains 10000 39,172 34,311 26,43 26,486 µs/op
iterateForEach 100 12,795 47,108 11,516 13,499 µs/op
iterateForEach 1000 358,583 273,649 123,209 140,27 µs/op
iterateForEach 10000 5.543,073 11.039,705 3.395,985 3.741,966 µs/op
iterateForLoop 100 12,35 49,305 13,163 13,142 µs/op
iterateForLoop 1000 357,468 271,828 125,045 125,463 µs/op
iterateForLoop 10000 5.545,171 11.207,241 3.280,211 3.279,135 µs/op
iterateStream 100 21,66 50,349 15,986 18,073 µs/op
iterateStream 1000 317,315 396,226 135,939 162,197 µs/op
iterateStream 10000 5.826,667 11.471,453 3.288,911 3.317,305 µs/op
remove 100 31,051 31,547 21,33 20,938 µs/op
remove 1000 33,926 33,375 22,204 21,825 µs/op
remove 10000 32,592 34,77 25,869 25,341 µs/op
toArray 100 16,333 45,15 11,863 11,496 µs/op
toArray 1000 216,558 310,401 153,882 154,738 µs/op
toArray 10000 1.964,967 12.065,308 3.477,496 3.493,927 µs/op

ArraySet

Action Size FastUtil Score PC Score Units
add 100 262,458 104,399 µs/op
add 1000 18.392,257 7.903,679 µs/op
add 10000 1.636.987,639 629.832,357 µs/op
addEmpty 100 354,431 125,441 µs/op
addEmpty 1000 22.386,211 8.550,015 µs/op
addEmpty 10000 1.641.368,052 630.423,294 µs/op
contains 100 241,075 141,46 µs/op
contains 1000 1.364,425 1.054,853 µs/op
contains 10000 13.854,512 9.561,536 µs/op
iterateForEach 100 9,69 5,534 µs/op
iterateForEach 1000 88,604 55,549 µs/op
iterateForEach 10000 874,538 543,075 µs/op
iterateForLoop 100 9,714 6,296 µs/op
iterateForLoop 1000 88,918 58,991 µs/op
iterateForLoop 10000 876,856 581,885 µs/op
iterateStream 100 15,723 13,438 µs/op
iterateStream 1000 147,161 117,159 µs/op
iterateStream 10000 1.417,28 1.152,944 µs/op
toArray 100 3,709 2,449 µs/op
toArray 1000 39,83 20,21 µs/op
toArray 10000 434,199 255,485 µs/op

AVLTreeSet

Action Size Java Score FastUtil Score PC Score Units
add 100 182,698 260,642 285,435 µs/op
add 1000 2.585,756 3.400,019 6.859,703 µs/op
add 10000 124.388,847 145.437,547 135.486,963 µs/op
contains 100 120,576 92,202 109,107 µs/op
contains 1000 178,198 176,622 177,523 µs/op
contains 10000 320,762 252,962 186,39 µs/op
iterateForEach 100 28,03 20,527 23,431 µs/op
iterateForEach 1000 532,217 225,992 260,637 µs/op
iterateForEach 10000 9.203,692 4.311,953 4.789,71 µs/op
iterateForLoop 100 27,971 19,931 27,768 µs/op
iterateForLoop 1000 532,5 224,829 301,89 µs/op
iterateForLoop 10000 8.327,476 4.351,406 5.005,613 µs/op
iterateStream 100 27,163 30,626 33,606 µs/op
iterateStream 1000 515,934 284,006 333,883 µs/op
iterateStream 10000 9.226,556 4.137,709 4.855,911 µs/op
pollFirst 100 0,155 N/A 0,113 µs/op
pollFirst 1000 0,156 N/A 0,102 µs/op
pollFirst 10000 0,153 N/A 0,113 µs/op
pollLast 100 0,154 N/A 0,113 µs/op
pollLast 1000 0,155 N/A 0,102 µs/op
pollLast 10000 0,155 N/A 0,114 µs/op
remove 100 89,394 98,117 67,327 µs/op
remove 1000 182,18 177,746 116,427 µs/op
remove 10000 334,434 283,893 200,872 µs/op
toArray 100 36,649 20,86 28,319 µs/op
toArray 1000 414,22 266,687 334,083 µs/op
toArray 10000 4.728,877 2.725,105 3.454,979 µs/op

RBTreeSet

Action Size Java Score FastUtil Score PC Score Units
add 100 182,698 319,878 161,931 µs/op
add 1000 2.585,756 5.072,272 2.241,333 µs/op
add 10000 124.388,847 151.274,483 103.227,666 µs/op
contains 100 120,576 96,904 87,095 µs/op
contains 1000 178,198 148,295 182,427 µs/op
contains 10000 320,762 290,259 245,726 µs/op
iterateForEach 100 28,03 20,299 23,323 µs/op
iterateForEach 1000 532,217 227,033 259,272 µs/op
iterateForEach 10000 9.203,692 3.938,549 4.646,474 µs/op
iterateForLoop 100 27,971 19,718 27,867 µs/op
iterateForLoop 1000 532,5 225,989 299,807 µs/op
iterateForLoop 10000 8.327,476 4.337,774 4.994,825 µs/op
iterateStream 100 27,163 30,629 34,824 µs/op
iterateStream 1000 515,934 286,889 344,578 µs/op
iterateStream 10000 9.226,556 4.111,979 5.004,032 µs/op
pollFirst 100 0,155 N/A 0,113 µs/op
pollFirst 1000 0,156 N/A 0,086 µs/op
pollFirst 10000 0,153 N/A 0,099 µs/op
pollLast 100 0,154 N/A 0,114 µs/op
pollLast 1000 0,155 N/A 0,101 µs/op
pollLast 10000 0,155 N/A 0,108 µs/op
remove 100 89,394 232,024 65,14 µs/op
remove 1000 182,18 433,875 157,434 µs/op
remove 10000 334,434 598,209 199,812 µs/op
toArray 100 36,649 20,708 28,636 µs/op
toArray 1000 414,22 267,886 337,278 µs/op
toArray 10000 4.728,877 2.759,574 3.460,348 µs/op

HashMap

Action Size Java Score Eclipse Score HPPC Score Koloboke Score FastUtil Score PC Score Units
clone 100 106,464 N/A 28,192 N/A 30,729 33,862 µs/op
clone 1000 1.089,909 N/A 257,119 N/A 259,597 257,125 µs/op
clone 10000 15.276,764 N/A 2.118,693 N/A 2.124,168 2.136,606 µs/op
containsKey 100 27,408 21,718 23,622 24,426 24,394 34,795 µs/op
containsKey 1000 34,971 21,999 22,767 24,373 23,519 32,36 µs/op
containsKey 10000 36,615 22,082 24,165 25,357 25,195 30,663 µs/op
forEach 100 13,47 N/A 62,31 11,945 43,346 17,474 µs/op
forEach 1000 157,848 N/A 446,672 130,71 562,981 167,203 µs/op
forEach 10000 3.015,215 N/A 11.262,751 1.395,089 5.055,895 1.573,155 µs/op
get 100 29,831 23,308 27,144 28,971 34,447 30,117 µs/op
get 1000 36,729 23,843 26,046 26,718 28,934 29,065 µs/op
get 10000 38,646 23,534 27,578 29,39 34,17 30,389 µs/op
getOrDefault 100 39,069 N/A 27,397 28,708 33,696 29,912 µs/op
getOrDefault 1000 47,142 N/A 26,179 26,871 27,93 28,823 µs/op
getOrDefault 10000 50,47 N/A 27,588 29,633 33,564 30,203 µs/op
keySet 100 42,98 24,669 57,618 17,976 16,498 25,376 µs/op
keySet 1000 382,542 184,358 393,032 203,383 170,989 227,002 µs/op
keySet 10000 6.472,777 2.148,303 12.025,191 2.537,454 1.655,24 2.402,283 µs/op
put 100 144,624 47,263 33,269 57,827 36,12 45,727 µs/op
put 1000 1.589,978 487,252 408,177 494,448 430,236 468,721 µs/op
put 10000 21.565,706 8.935,828 3.942,013 8.459,922 4.505,135 5.376,586 µs/op
putEmpty 100 104,295 108,44 90,1 125,169 120,073 94,926 µs/op
putEmpty 1000 1.941,615 1.691,326 886,849 987,326 959,19 885,211 µs/op
putEmpty 10000 33.377,505 11.708,785 13.138,64 13.600,79 13.167,687 12.354,38 µs/op
remove 100 28,701 52,285 25,03 26,915 25,782 27,174 µs/op
remove 1000 30,462 37,233 27,869 28,757 26,825 28,107 µs/op
remove 10000 30,473 35,639 30,699 32,529 30,438 32,08 µs/op
replace 100 50,311 N/A N/A 32,225 30,831 30,371 µs/op
replace 1000 60,239 N/A N/A 35,339 29,84 28,791 µs/op
replace 10000 62,796 N/A N/A 34,044 31,278 30,634 µs/op
values 100 41,994 24,555 N/A 17,529 17,789 23,491 µs/op
values 1000 381,828 198,376 N/A 206,424 172,652 251,76 µs/op
values 10000 7.304,119 2.269,234 N/A 1.810,926 1.869,483 2.255,248 µs/op

LinkedHashMap

Action Size Java Score HPPC Score FastUtil Score PC Score Units
clone 100 97,997 28,625 64,607 46,824 µs/op
clone 1000 1.013,738 311,679 429,118 447,291 µs/op
clone 10000 10.353,757 2.217,771 3.471,47 3.514,199 µs/op
containsKey 100 27,374 37,608 24,749 34,734 µs/op
containsKey 1000 34,894 35,001 23,406 32,382 µs/op
containsKey 10000 37,601 36,68 25,361 36,042 µs/op
forEach 100 14,824 46,538 34,354 13,363 µs/op
forEach 1000 411,424 290,627 513,936 209,304 µs/op
forEach 10000 6.334,483 12.309,033 5.833,727 5.314,988 µs/op
get 100 30,605 37,971 34,436 30,045 µs/op
get 1000 37,326 37,061 28,852 29,024 µs/op
get 10000 40,263 38,774 34,064 30,433 µs/op
getOrDefault 100 39,112 40,062 33,846 29,794 µs/op
getOrDefault 1000 48,003 38,664 27,704 28,746 µs/op
getOrDefault 10000 54,376 41,132 33,468 30,194 µs/op
keySet 100 12,235 45,723 13,85 13,738 µs/op
keySet 1000 378,935 312,798 126,56 127,194 µs/op
keySet 10000 6.780,64 11.501,911 3.277,819 3.267,605 µs/op
put 100 163,236 78,291 67,183 79,238 µs/op
put 1000 1.798,285 870,931 715,014 739,147 µs/op
put 10000 23.414,699 8.899,554 6.996,904 7.255,969 µs/op
putEmpty 100 191,286 210,502 143,912 141,973 µs/op
putEmpty 1000 2.066,497 3.282,962 1.635,902 1.186,177 µs/op
putEmpty 10000 35.036,507 29.946,879 26.833,078 22.179,502 µs/op
remove 100 28,638 26,98 25,741 27,459 µs/op
remove 1000 28,048 30,585 26,976 28,082 µs/op
remove 10000 28,693 33,407 30,562 32,37 µs/op
replace 100 54,084 N/A 30,795 29,937 µs/op
replace 1000 59,278 N/A 32,782 29,222 µs/op
replace 10000 70,188 N/A 31,488 30,638 µs/op
values 100 12,054 N/A 13,58 13,621 µs/op
values 1000 364,888 N/A 130,021 129,842 µs/op
values 10000 6.643,663 N/A 3.375,373 3.307,545 µs/op

ArrayMap

Action Size FastUtil Score PC Score Units
clone 100 12,155 12,46 µs/op
clone 1000 145,014 147,893 µs/op
clone 10000 1.254,92 1.283,802 µs/op
containsKey 100 238,888 145,453 µs/op
containsKey 1000 1.536,554 1.106,124 µs/op
containsKey 10000 13.190,787 9.273,887 µs/op
forEach 100 41,901 8,6 µs/op
forEach 1000 586,344 82,887 µs/op
forEach 10000 6.038,754 829,458 µs/op
get 100 239,129 152,509 µs/op
get 1000 1.575,996 1.141,309 µs/op
get 10000 13.201,776 9.213,463 µs/op
getOrDefault 100 316,828 147,88 µs/op
getOrDefault 1000 2.483,865 1.110,921 µs/op
getOrDefault 10000 20.990,916 9.251,258 µs/op
keySet 100 13,487 6,335 µs/op
keySet 1000 125,269 59,951 µs/op
keySet 10000 1.246,071 592,106 µs/op
put 100 271,111 155,908 µs/op
put 1000 18.384,079 8.031,23 µs/op
put 10000 1.633.348,707 623.342,974 µs/op
putEmpty 100 290,427 332,87 µs/op
putEmpty 1000 18.121,704 10.085,367 µs/op
putEmpty 10000 1.676.518,905 638.820,239 µs/op
remove 100 261,703 93,45 µs/op
remove 1000 2.284,436 1.222,128 µs/op
remove 10000 21.648,587 13.175,014 µs/op
replace 100 334,985 146,213 µs/op
replace 1000 2.110,02 1.091,249 µs/op
replace 10000 18.566,11 8.999,808 µs/op
values 100 13,52 6,189 µs/op
values 1000 124,964 57,348 µs/op
values 10000 1.249,797 570,644 µs/op

AVLTreeMap

Action Size Java Score FastUtil Score PC Score Units
clone 100 61,964 58,149 31,941 µs/op
clone 1000 719,751 567,021 402,784 µs/op
clone 10000 8.201,852 6.856,861 3.990,11 µs/op
containsKey 100 109,883 95,517 85,936 µs/op
containsKey 1000 172,495 181,231 146,429 µs/op
containsKey 10000 336,422 276,05 226,047 µs/op
forEach 100 27,771 53,824 24,567 µs/op
forEach 1000 536,503 619,049 269,49 µs/op
forEach 10000 11.429,132 6.067,264 4.860,023 µs/op
get 100 107,334 96,159 106,016 µs/op
get 1000 172,946 205,798 146,143 µs/op
get 10000 334,203 297,713 230,867 µs/op
getOrDefault 100 178,549 151,655 97,902 µs/op
getOrDefault 1000 264,981 206,528 212,583 µs/op
getOrDefault 10000 450,024 361,061 226,402 µs/op
keySet 100 28,32 27,191 28,547 µs/op
keySet 1000 508,383 269,566 299,486 µs/op
keySet 10000 10.594,452 4.337,511 5.054,769 µs/op
pollFirst 100 0,086 N/A 0,112 µs/op
pollFirst 1000 0,087 N/A 0,101 µs/op
pollFirst 10000 0,087 N/A 0,084 µs/op
pollLast 100 0,085 N/A 0,113 µs/op
pollLast 1000 0,086 N/A 0,101 µs/op
pollLast 10000 0,087 N/A 0,113 µs/op
put 100 195,479 283,149 266,88 µs/op
put 1000 2.578,639 3.870,384 4.421,342 µs/op
put 10000 133.305,207 153.261,899 130.696,497 µs/op
remove 100 87,483 102,955 60,635 µs/op
remove 1000 166,645 179,519 126,232 µs/op
remove 10000 344,335 292,013 223,137 µs/op
replace 100 135,315 196,339 114,545 µs/op
replace 1000 222,337 294,417 139,275 µs/op
replace 10000 370,002 544,547 233,532 µs/op
values 100 28,199 27,169 27,979 µs/op
values 1000 519,481 225,484 295,029 µs/op
values 10000 10.105,88 4.235,55 5.028,454 µs/op

RBTreeMap

Action Size Java Score FastUtil Score PC Score Units
clone 100 61,964 57,211 32,077 µs/op
clone 1000 719,751 619,239 402,196 µs/op
clone 10000 8.201,852 6.906,495 3.993,416 µs/op
containsKey 100 109,883 96,606 94,944 µs/op
containsKey 1000 172,495 182,342 153,531 µs/op
containsKey 10000 336,422 307,85 218,277 µs/op
forEach 100 27,771 62,93 24,837 µs/op
forEach 1000 536,503 619,612 269,917 µs/op
forEach 10000 11.429,132 6.061,579 4.447,297 µs/op
get 100 107,334 96,556 105,413 µs/op
get 1000 172,946 207,032 150,315 µs/op
get 10000 334,203 250,08 219,041 µs/op
getOrDefault 100 178,549 145,299 96,954 µs/op
getOrDefault 1000 264,981 208,696 141,988 µs/op
getOrDefault 10000 450,024 355,659 237,342 µs/op
keySet 100 28,32 26,967 28,179 µs/op
keySet 1000 508,383 269,114 294,952 µs/op
keySet 10000 10.594,452 4.340,619 4.691,015 µs/op
pollFirst 100 0,086 N/A 0,113 µs/op
pollFirst 1000 0,087 N/A 0,101 µs/op
pollFirst 10000 0,087 N/A 0,1 µs/op
pollLast 100 0,085 N/A 0,113 µs/op
pollLast 1000 0,086 N/A 0,102 µs/op
pollLast 10000 0,087 N/A 0,113 µs/op
put 100 195,479 311,423 156,525 µs/op
put 1000 2.578,639 4.793,349 2.336,96 µs/op
put 10000 133.305,207 157.497,135 105.407,276 µs/op
remove 100 87,483 234,904 64,459 µs/op
remove 1000 166,645 431,858 142,697 µs/op
remove 10000 344,335 606,508 226,245 µs/op
replace 100 135,315 239,834 89,586 µs/op
replace 1000 222,337 368,641 132,83 µs/op
replace 10000 370,002 657,718 224,964 µs/op
values 100 28,199 27,082 28,629 µs/op
values 1000 519,481 226,976 294,518 µs/op
values 10000 10.105,88 4.218,07 4.713,807 µs/op