Skip to content

Instantly share code, notes, and snippets.

@scf37
Created February 27, 2023 02:07
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scf37/36a86427697bcf1fdae161edbc2bb2c9 to your computer and use it in GitHub Desktop.
Save scf37/36a86427697bcf1fdae161edbc2bb2c9 to your computer and use it in GitHub Desktop.
lookup 0 1 4 16 64 256 1,024 4,096 16,192 65,536 262,144 1,048,576
Set 0 ± 0% 12 ± 0% 57 ± 0% 307 ± 0% 1,410 ± 1.1% 6,200 ± 1.8% 30,500 ± 1.2% 143,000 ± 1.4% 820,000 ± 1.4% 4,510,000 ± 2.1% 42,000,000 ± 6.3%
j.ArrayList 0 ± 0% 3 ± 0% 4 ± 0% 4 ± 0% 4 ± 0% 4 ± 0% 4 ± 25.0% 3 ± 166.7% 10 ± 261.5% 90 ± 72.2% 1,000 ± 232.0% -11,000 ± 52.6%
m.Map 0 ± 0% 5 ± 0% 20 ± 0% 82 ± 1.2% 337 ± 2.1% 1,460 ± 1.2% 7,680 ± 1.2% 41,000 ± 0.6% 190,000 ± 1.1% 1,010,000 ± 2.3% 12,000,000 ± 10.4% 74,000,000 ± 6.5%
j.HashMap 0 ± 0% 5 ± 0% 23 ± 0% 98 ± 1.0% 392 ± 1.0% 1,640 ± 0.8% 8,100 ± 1.7% 44,800 ± 0.5% 215,000 ± 0.5% 1,160,000 ± 1.8% 12,000,000 ± 10.5% 57,000,000 ± 7.1%
Array 0 ± 0% 2 ± 0% 1 ± 0% 1 ± 0% 1 ± 0% 1 ± 0% 1 ± 0% 3 ± 66.7% 0 ± 220.0% 30 ± 205.3% 10,000 ± 71.1% 0 ± 309.5%
Map 0 ± 0% 18 ± 0% 79 ± 0% 418 ± 1.0% 1,770 ± 1.6% 7,730 ± 1.0% 32,400 ± 1.1% 163,000 ± 1.1% 720,000 ± 1.6% 5,900,000 ± 6.5% 42,000,000 ± 7.0%
List 0 ± 0% 1 ± 0% 13 ± 0% 141 ± 0.7% 2,610 ± 0.6% 50,200 ± 0.5% 870,000 ± 1.3% 16,400,000 ± 1.1% 279,000,000 ± 0.2%
m.Buffer 0 ± 0% 3 ± 0% 2 ± 0% 2 ± 0% 2 ± 0% 2 ± 0% 1 ± 100.0% 0 ± ∞% 20 ± 100.0% 0 ± 1071.4% 0 ± 1410.2% 5,000 ± 142.4%
j.HashSet 0 ± 0% 5 ± 0% 22 ± 0% 95 ± 1.1% 378 ± 0.8% 1,620 ± 0.7% 7,650 ± 1.0% 36,700 ± 1.4% 180,000 ± 1.3% 830,000 ± 1.2% 7,000,000 ± 4.4% 65,000,000 ± 9.6%
Vector 0 ± 0% 3 ± 0% 14 ± 0% 55 ± 0% 283 ± 1.1% 1,230 ± 1.5% 4,940 ± 1.4% 20,600 ± 1.1% 84,000 ± 1.5% 376,000 ± 1.1% 1,580,000 ± 0.5% 7,480,000 ± 1.3%
m.Set 0 ± 0% 5 ± 0% 20 ± 0% 85 ± 0% 341 ± 0.3% 1,590 ± 1.2% 7,840 ± 0.8% 35,900 ± 1.1% 173,000 ± 1.7% 790,000 ± 1.4% 6,000,000 ± 7.2% 61,000,000 ± 8.4%
concat 0 1 4 16 64 256 1,024 4,096 16,192 65,536 262,144 1,048,576
Set 42 ± 4.8% 79 ± 6.3% 961 ± 0.5% 1,360 ± 3.3% 7,200 ± 1.5% 25,200 ± 1.2% 88,000 ± 4.8% 530,000 ± 2.3% 1,560,000 ± 1.4% 11,500,000 ± 2.7% 64,000,000 ± 2.8% 214,000,000 ± 4.0%
m.Map 16 ± 25.0% 54 ± 3.7% 322 ± 2.8% 1,200 ± 1.1% 4,350 ± 2.0% 18,000 ± 1.3% 75,000 ± 1.7% 325,000 ± 2.7% 1,480,000 ± 2.1% 15,600,000 ± 2.1% 55,000,000 ± 7.0% 190,000,000 ± 7.3%
j.HashMap 11 ± 36.4% 62 ± 6.5% 340 ± 3.7% 1,250 ± 1.8% 4,700 ± 2.2% 19,300 ± 2.0% 80,000 ± 1.8% 369,000 ± 2.0% 1,720,000 ± 1.1% 18,800,000 ± 2.3% 78,800,000 ± 0.9% 300,000,000 ± 6.9%
Array++ 17 ± 11.8% 37 ± 2.7% 42 ± 4.8% 49 ± 16.3% 60 ± 25.4% 140 ± 46.4% 600 ± 20.2% 2,900 ± 8.9% 14,000 ± 13.7% 60,000 ± 20.8% 3,500,000 ± 15.6% 14,000,000 ± 11.5%
Map 11 ± 27.3% 278 ± 1.8% 1,410 ± 1.1% 2,790 ± 3.2% 14,800 ± 3.1% 54,000 ± 3.0% 201,000 ± 1.5% 1,190,000 ± 2.2% 3,540,000 ± 1.6% 34,600,000 ± 2.1% 164,000,000 ± 2.4% 500,000,000 ± 2.6%
List 4 ± 0% 10 ± 0% 24 ± 4.2% 73 ± 2.7% 280 ± 3.5% 1,100 ± 1.9% 4,700 ± 4.3% 21,000 ± 5.9% 104,000 ± 2.4% 530,000 ± 9.9% 2,500,000 ± 23.9% 40,000,000 ± 26.8%
m.Buffer 2 ± 100.0% 27 ± 7.4% 27 ± 14.8% 53 ± 5.7% 80 ± 37.6% 310 ± 23.0% 1,600 ± 19.5% 7,000 ± 17.1% 18,000 ± 30.4% 100,000 ± 26.6% 3,100,000 ± 3.7% 12,000,000 ± 11.0%
j.HashSet 28 ± 10.7% 62 ± 6.5% 370 ± 3.5% 1,260 ± 0.9% 4,720 ± 2.1% 19,600 ± 2.9% 80,000 ± 2.6% 341,000 ± 2.4% 1,550,000 ± 1.7% 13,300,000 ± 2.3% 60,000,000 ± 6.2% 250,000,000 ± 5.4%
Vector 3 ± 33.3% 26 ± 3.8% 47 ± 2.1% 57 ± 12.3% 180 ± 8.0% 430 ± 10.0% 1,400 ± 14.8% 4,000 ± 43.0% 19,000 ± 6.7% 110,000 ± 18.7% 600,000 ± 25.1% 3,500,000 ± 14.1%
m.Set 23 ± 0% 47 ± 4.3% 161 ± 4.3% 640 ± 2.2% 2,380 ± 1.9% 9,000 ± 3.7% 39,000 ± 4.4% 162,000 ± 1.7% 710,000 ± 3.1% 3,460,000 ± 1.2% 27,000,000 ± 5.4% 100,000,000 ± 15.5%
Array-arraycopy 5 ± 40.0% 26 ± 0% 27 ± 3.7% 33 ± 6.1% 50 ± 24.1% 90 ± 50.0% 700 ± 13.8% 4,300 ± 20.2% 14,000 ± 29.5% 60,000 ± 16.2% 3,800,000 ± 5.4% 15,000,000 ± 7.3%
j.ArrayList 16 ± 6.2% 39 ± 2.6% 86 ± 2.3% 280 ± 4.6% 930 ± 4.5% 3,630 ± 1.5% 14,600 ± 1.2% 58,000 ± 4.1% 232,000 ± 3.2% 990,000 ± 5.1% 8,100,000 ± 9.7% 32,000,000 ± 9.4%
foreach 0 1 4 16 64 256 1,024 4,096 16,192 65,536 262,144 1,048,576
j.ArrayList 8 ± 0% 13 ± 0% 13 ± 0% 13 ± 0% 13 ± 0% 14 ± 14.3% 10 ± 66.7% 0 ± 440.0% -100 ± 139.1% -1,000 ± 133.3% -26,000 ± 37.0% 0 ± 1233.8%
m.Map 19 ± 0% 15 ± 0% 34 ± 0% 128 ± 0.8% 474 ± 1.1% 1,910 ± 1.8% 10,010 ± 0.6% 56,300 ± 0.9% 277,000 ± 0.8% 1,270,000 ± 1.5% 6,900,000 ± 2.7% 24,000,000 ± 12.7%
j.HashMap 12 ± 0% 38 ± 0% 88 ± 1.1% 280 ± 0.7% 1,030 ± 1.4% 4,330 ± 0.4% 21,000 ± 1.4% 105,300 ± 0.4% 499,000 ± 1.0% 2,103,000 ± 0.4% 11,700,000 ± 5.6% 37,200,000 ± 1.7%
List-while 0 ± 0% 0 ± 0% 0 ± 0% 2 ± 0% 9 ± 0% 45 ± 0% 217 ± 0.5% 907 ± 1.0% 4,090 ± 1.2% 16,800 ± 1.3% 94,000 ± 3.3% 600,000 ± 17.7%
Map 29 ± 20.7% 17 ± 0% 27 ± 0% 141 ± 2.8% 530 ± 2.8% 1,950 ± 3.8% 9,200 ± 1.8% 53,000 ± 2.5% 200,000 ± 2.3% 1,340,000 ± 1.3% 9,000,000 ± 4.0% 22,000,000 ± 6.3%
Vector-while 1 ± 0% 5 ± 0% 18 ± 0% 66 ± 1.5% 292 ± 0.3% 1,220 ± 1.1% 4,940 ± 1.5% 21,600 ± 0.8% 87,300 ± 0.7% 392,000 ± 0.8% 1,650,000 ± 1.5% 8,180,000 ± 1.1%
List 0 ± 0% 1 ± 0% 5 ± 0% 20 ± 0% 98 ± 2.0% 447 ± 1.3% 2,204 ± 0.4% 9,100 ± 1.5% 41,000 ± 0.8% 169,000 ± 0.7% 920,000 ± 4.4% 6,000,000 ± 16.5%
j.HashSet 22 ± 0% 32 ± 0% 71 ± 0% 235 ± 1.7% 860 ± 1.6% 3,630 ± 0.6% 18,300 ± 1.0% 93,000 ± 0.4% 409,000 ± 1.1% 1,750,000 ± 1.0% 8,700,000 ± 2.7% 37,000,000 ± 10.1%
Vector 7 ± 0% 17 ± 0% 20 ± 0% 38 ± 2.6% 129 ± 0.8% 790 ± 1.3% 3,430 ± 1.7% 11,700 ± 1.5% 39,300 ± 1.5% 169,000 ± 1.5% 810,000 ± 2.8% 3,800,000 ± 3.5%
m.Set 19 ± 0% 12 ± 0% 23 ± 0% 88 ± 2.3% 303 ± 1.7% 1,297 ± 0.4% 7,100 ± 1.4% 43,900 ± 0.5% 223,000 ± 0.8% 1,000,000 ± 1.4% 4,400,000 ± 1.4% 24,000,000 ± 8.8%
Set 13 ± 0% 14 ± 0% 17 ± 0% 81 ± 3.7% 352 ± 0.9% 1,090 ± 3.7% 5,500 ± 0.9% 32,300 ± 1.7% 124,500 ± 0.7% 740,000 ± 3.2% 6,100,000 ± 6.3% 20,700,000 ± 3.9%
j.ArrayList-while 1 ± 0% 4 ± 0% 3 ± 0% 3 ± 0% 3 ± 33.3% 4 ± 25.0% 0 ± ∞% -60 ± 41.5% 0 ± 174.4% 0 ± 168.6% 0 ± 2726.5% 40,000 ± 226.8%
m.Buffer-while 1 ± 0% 2 ± 0% 2 ± 0% 2 ± 0% 2 ± 50.0% 3 ± 100.0% -4 ± 150.0% 40 ± 97.7% 0 ± 525.0% 0 ± 1887.7% -2,000 ± 367.6% 70,000 ± 36.7%
Array 5 ± 0% 8 ± 0% 11 ± 0% 27 ± 0% 99 ± 1.0% 348 ± 1.7% 1,370 ± 2.0% 5,580 ± 1.6% 22,400 ± 1.7% 97,000 ± 2.7% 460,000 ± 2.8% 2,030,000 ± 2.2%
Array-while 0 ± 0% 0 ± 0% 0 ± 0% 0 ± 0% 0 ± 0% 0 ± 0% 0 ± 0% 2 ± 250.0% 0 ± 500.0% -50 ± 164.2% 0 ± 1014.7% 0 ± 164.7%
m.Buffer 1 ± 0% 1 ± 0% 1 ± 0% 2 ± 0% 6 ± 0% 21 ± 0% 80 ± 1.2% 319 ± 0.6% 1,230 ± 3.7% 5,100 ± 2.2% 19,000 ± 10.0% 81,000 ± 7.8%
deconstruct 0 1 4 16 64 256 1,024 4,096 16,192 65,536 262,144 1,048,576
j.HashMap.remove 4 ± 25.0% 13 ± 23.1% 37 ± 21.6% 140 ± 7.4% 550 ± 10.7% 2,200 ± 6.4% 9,600 ± 7.8% 49,000 ± 5.3% 223,000 ± 4.3% 1,310,000 ± 0.8% 32,000,000 ± 5.4% 160,000,000 ± 8.1%
Set.- 15 ± 13.3% 46 ± 6.5% 170 ± 2.4% 1,890 ± 2.3% 9,500 ± 4.3% 46,000 ± 2.5% 216,000 ± 1.3% 940,000 ± 1.3% 4,020,000 ± 2.5% 19,100,000 ± 1.4% 103,000,000 ± 1.1% 430,000,000 ± 3.6%
List.tail 4 ± 0% 4 ± 25.0% 9 ± 0% 25 ± 4.0% 126 ± 1.6% 506 ± 1.0% 2,250 ± 3.5% 10,200 ± 2.9% 43,400 ± 2.2% 215,000 ± 2.7% 1,000,000 ± 14.4% 3,000,000 ± 83.5%
m.Buffer.remove 4 ± 0% 11 ± 9.1% 28 ± 7.1% 97 ± 1.0% 374 ± 1.1% 1,380 ± 1.6% 5,300 ± 2.1% 21,200 ± 3.7% 87,000 ± 2.8% 350,000 ± 3.3% -1,590,000 ± 5.9% -5,200,000 ± 7.3%
m.Set.remove 3 ± 33.3% 16 ± 6.2% 38 ± 7.9% 140 ± 8.3% 420 ± 18.0% 2,030 ± 4.3% 8,700 ± 4.1% 40,000 ± 10.2% 199,000 ± 2.4% 920,000 ± 3.0% 13,000,000 ± 8.9% 130,000,000 ± 13.3%
Vector.tail 4 ± 25.0% 11 ± 9.1% 63 ± 1.6% 272 ± 3.3% 1,020 ± 3.1% 4,110 ± 1.8% 16,330 ± 0.3% 72,000 ± 1.8% 297,000 ± 0.7% 1,340,000 ± 3.0% 5,800,000 ± 2.4% 27,600,000 ± 2.8%
Array.tail 4 ± 25.0% 14 ± 7.1% 39 ± 2.6% 142 ± 2.8% 902 ± 0.3% 15,130 ± 0.5% 236,200 ± 0.3% 3,788,000 ± 0.2% 50,800,000 ± 0.5% 842,000,000 ± 0.4% 13,290,000,000 ± 0.2%
m.Map.remove -3 ± 100.0% 11 ± 18.2% 35 ± 14.3% 150 ± 15.2% 600 ± 4.2% 2,100 ± 4.9% 9,800 ± 5.7% 44,000 ± 10.3% 228,000 ± 3.9% 1,150,000 ± 4.3% 36,000,000 ± 3.2% 210,000,000 ± 11.0%
j.HashSet.remove 3 ± 100.0% 15 ± 6.7% 43 ± 16.3% 150 ± 9.1% 526 ± 1.7% 2,380 ± 3.1% 8,900 ± 5.4% 40,000 ± 2.0% 204,000 ± 2.3% 990,000 ± 3.9% 7,000,000 ± 21.4% 138,000,000 ± 3.3%
j.ArrayList.remove 3 ± 0% 13 ± 7.7% 31 ± 3.2% 106 ± 1.9% 393 ± 1.8% 1,540 ± 3.1% 6,200 ± 2.0% 24,900 ± 1.6% 98,000 ± 3.2% 380,000 ± 5.4% -1,100,000 ± 26.4% -4,500,000 ± 13.5%
Map.- 16 ± 6.2% 72 ± 2.8% 256 ± 1.2% 2,100 ± 3.7% 10,800 ± 2.4% 51,000 ± 5.8% 238,000 ± 3.6% 1,080,000 ± 4.2% 4,600,000 ± 4.6% 23,000,000 ± 7.0% 118,000,000 ± 4.2% 520,000,000 ± 4.8%
Vector.init 5 ± 20.0% 10 ± 10.0% 56 ± 1.8% 253 ± 1.2% 1,000 ± 1.5% 4,110 ± 1.3% 16,800 ± 1.5% 71,000 ± 1.7% 307,000 ± 0.6% 1,348,000 ± 0.6% 5,920,000 ± 1.1% 26,500,000 ± 3.5%
construct 0 1 4 16 64 256 1,024 4,096 16,192 65,536 262,144 1,048,576
Set 3 ± 0% 8 ± 0% 155 ± 0.6% 2,620 ± 0.8% 13,130 ± 0.5% 51,800 ± 0.6% 240,000 ± 1.0% 1,040,000 ± 1.4% 4,450,000 ± 1.0% 23,000,000 ± 1.6% 110,000,000 ± 1.5% 580,000,000 ± 1.9%
j.ArrayList 6 ± 0% 17 ± 0% 29 ± 3.4% 119 ± 0.8% 386 ± 1.6% 1,430 ± 0.9% 5,530 ± 0.2% 22,300 ± 0.7% 95,600 ± 0.6% 379,000 ± 0.7% 5,930,000 ± 0.9% 39,400,000 ± 1.1%
Array.toSet 36 ± 0% 133 ± 0% 264 ± 0.8% 2,340 ± 1.3% 9,770 ± 0.8% 36,200 ± 0.5% 163,000 ± 0.9% 645,000 ± 1.4% 2,830,000 ± 1.0% 13,600,000 ± 0.7% 81,400,000 ± 0.4% 477,000,000 ± 0.9%
m.Map 14 ± 0% 59 ± 1.7% 192 ± 1.0% 1,008 ± 0.7% 4,730 ± 0.5% 19,200 ± 0.9% 79,600 ± 1.2% 338,000 ± 1.0% 1,490,000 ± 1.0% 6,940,000 ± 0.9% 55,800,000 ± 0.5% 308,000,000 ± 3.2%
Array.toMap 67 ± 1.5% 109 ± 1.8% 261 ± 1.1% 2,550 ± 0.7% 11,440 ± 0.5% 41,100 ± 0.9% 193,000 ± 0.7% 757,000 ± 1.3% 3,300,000 ± 1.0% 16,900,000 ± 1.3% 98,000,000 ± 1.1% 557,000,000 ± 0.9%
j.HashMap 6 ± 0% 66 ± 1.5% 213 ± 0.9% 1,055 ± 0.7% 4,700 ± 1.1% 18,800 ± 1.1% 77,500 ± 1.2% 325,000 ± 1.4% 1,386,000 ± 0.5% 6,450,000 ± 0.6% 51,600,000 ± 0.2% 299,000,000 ± 1.9%
Map 4 ± 0% 12 ± 0% 191 ± 0.5% 2,870 ± 1.8% 14,200 ± 1.4% 55,000 ± 2.7% 257,000 ± 2.4% 1,090,000 ± 4.6% 4,700,000 ± 5.2% 23,000,000 ± 4.2% 119,000,000 ± 3.1% 640,000,000 ± 2.5%
Array.toVector 10 ± 0% 63 ± 0% 83 ± 1.2% 160 ± 1.9% 1,000 ± 1.6% 3,850 ± 1.0% 15,900 ± 1.2% 64,600 ± 0.8% 254,000 ± 0.7% 1,046,000 ± 0.9% 8,800,000 ± 1.5% 36,000,000 ± 2.9%
Array-prealloc 7 ± 0% 12 ± 0% 19 ± 5.3% 54 ± 1.9% 191 ± 0.5% 747 ± 0.4% 3,140 ± 0.6% 12,790 ± 0.4% 50,600 ± 0.4% 205,000 ± 1.3% 6,230,000 ± 0.5% 24,800,000 ± 1.2%
List 3 ± 0% 14 ± 7.1% 22 ± 4.5% 86 ± 1.2% 343 ± 0.9% 1,357 ± 0.5% 5,490 ± 0.6% 22,500 ± 0.5% 93,800 ± 0.9% 413,000 ± 1.1% 2,120,000 ± 4.6% 15,000,000 ± 11.1%
m.Buffer 13 ± 0% 20 ± 5.0% 43 ± 0% 137 ± 1.5% 559 ± 1.4% 2,120 ± 2.5% 8,500 ± 1.2% 35,000 ± 0.8% 140,000 ± 1.6% 580,000 ± 1.1% 7,000,000 ± 2.0% 36,700,000 ± 1.2%
j.HashSet 10 ± 10.0% 68 ± 1.5% 211 ± 0.9% 1,029 ± 0.9% 4,620 ± 1.1% 18,700 ± 1.5% 76,000 ± 1.2% 318,000 ± 0.6% 1,330,000 ± 0.8% 6,100,000 ± 0.5% 43,900,000 ± 1.3% 283,000,000 ± 2.8%
Vector 3 ± 0% 16 ± 0% 96 ± 2.1% 440 ± 1.1% 1,890 ± 1.5% 7,760 ± 1.0% 31,100 ± 1.0% 128,000 ± 0.9% 517,000 ± 0.9% 2,220,000 ± 1.1% 9,740,000 ± 0.9% 44,600,000 ± 1.3%
Array:+ 6 ± 0% 27 ± 7.4% 88 ± 2.3% 351 ± 2.6% 1,530 ± 1.7% 16,220 ± 0.5% 242,600 ± 0.2% 3,836,000 ± 0.2% 51,600,000 ± 0.7% 857,000,000 ± 0.4% 13,430,000,000 ± 0.3%
m.Set 14 ± 7.1% 58 ± 0% 182 ± 1.1% 964 ± 0.9% 4,570 ± 1.5% 18,600 ± 0.6% 77,200 ± 0.7% 323,000 ± 0.6% 1,400,000 ± 0.7% 6,350,000 ± 1.1% 46,300,000 ± 1.1% 266,000,000 ± 0.9%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment