Skip to content

Instantly share code, notes, and snippets.

@tfausak
Last active September 18, 2021 14:26
Show Gist options
  • Save tfausak/33364b81dff41316273df551814b5a8e to your computer and use it in GitHub Desktop.
Save tfausak/33364b81dff41316273df551814b5a8e to your computer and use it in GitHub Desktop.
cabal-version: >= 1.2
name: aeson864
version: 0.2021.9.18
build-type: Simple
executable aeson864
build-depends:
base == 4.15.0.0
, aeson == 1.5.6.0
, containers == 0.6.5.1
, deepseq == 1.4.5.0
, gauge == 0.2.5
, insert-ordered-containers == 0.2.5
, text == 1.2.5.0
, unordered-containers == 0.2.14.0
, vector == 0.12.3.0
, Z-Data == 1.1.0.0
ghc-options:
-rtsopts
-threaded
-Wall
main-is: Main.hs
import qualified Control.DeepSeq as DeepSeq
import qualified Control.Exception as Exception
import qualified Data.HashMap.Strict as HashMap
import qualified Data.HashMap.Strict.InsOrd as InsOrd
import qualified Data.Map.Lazy as Map.Lazy
import qualified Data.Map.Strict as Map.Strict
import qualified Data.Text as Text
import qualified Data.Vector as Vector
import qualified Gauge
import qualified Z.Data.Vector as ZVector
main :: IO ()
main = mapM_ mainWith [0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
mainWith :: Int -> IO ()
mainWith count = do
putStrLn $ "Count: " <> show count
pairs <- Exception.evaluate . DeepSeq.force
$ fmap (\ n -> (Text.pack $ show n, n)) [1 .. count]
keys <- Exception.evaluate . DeepSeq.force $ fmap fst pairs
Gauge.defaultMain
[ Gauge.bench "HashMap" $ Gauge.whnf (goHashMap 0 keys) pairs
, Gauge.bench "Map.Lazy" $ Gauge.whnf (goMapLazy 0 keys) pairs
, Gauge.bench "Map.Strict" $ Gauge.whnf (goMapStrict 0 keys) pairs
, Gauge.bench "InsOrd" $ Gauge.whnf (goInsOrd 0 keys) pairs
, Gauge.bench "ZVector" $ Gauge.whnf (goZVector 0 keys) pairs
, Gauge.bench "Vector" $ Gauge.whnf (goVector 0 keys) pairs
, Gauge.bench "List" $ Gauge.whnf (goList 0 keys) pairs
]
goHashMap :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goHashMap n ks o = let
o' = HashMap.fromList o
f k a = case HashMap.lookup k o' of
Nothing -> a
Just e -> a + e
in foldr f n ks
goInsOrd :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goInsOrd n ks o = let
o' = InsOrd.fromList o
f k a = case InsOrd.lookup k o' of
Nothing -> a
Just e -> a + e
in foldr f n ks
goList :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goList n ks o = let
f k a = case lookup k o of
Nothing -> a
Just e -> a + e
in foldr f n ks
goMapLazy :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goMapLazy n ks o = let
o' = Map.Lazy.fromList o
f k a = case Map.Lazy.lookup k o' of
Nothing -> a
Just e -> a + e
in foldr f n ks
goMapStrict :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goMapStrict n ks o = let
o' = Map.Strict.fromList o
f k a = case Map.Strict.lookup k o' of
Nothing -> a
Just e -> a + e
in foldr f n ks
goVector :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goVector n ks o = let
o' = Vector.fromList o
f k a = case Vector.find ((== k) . fst) o' of
Nothing -> a
Just (_, e) -> a + e
in foldr f n ks
goZVector :: Int -> [Text.Text] -> [(Text.Text, Int)] -> Int
goZVector n ks o = let
o' = ZVector.pack o :: ZVector.Vector (Text.Text, Int)
f k a = case ZVector.find ((== k) . fst) o' of
(_, Nothing) -> a
(_, Just (_, e)) -> a + e
in foldr f n ks
Count Name Mean MeanLB MeanUB Stddev StddevLB StddevUB
0 HashMap 8.47798069581872e-9 8.45305168510775e-9 8.535221418094192e-9 1.1624154724529253e-10 6.27318123575205e-11 2.2239429466891095e-10
0 Map.Lazy 1.027378618590387e-8 1.0247808852660145e-8 1.0326142068547696e-8 1.282063798039879e-10 7.696313097011589e-11 2.1315030701448896e-10
0 Map.Strict 1.0569154297533109e-8 1.044964190611951e-8 1.0729404723284183e-8 4.460070300943525e-10 3.5839362161706684e-10 5.370347245925838e-10
0 InsOrd 8.482641199144843e-9 8.411944478903212e-9 8.605693988176316e-9 3.1364531438282805e-10 1.924553169488824e-10 4.374211804339454e-10
0 ZVector 1.225073781821382e-8 1.215671766064766e-8 1.2404354543843329e-8 3.8987991276499245e-10 2.1591553776251162e-10 5.57466165578371e-10
0 Vector 9.785058303119449e-9 9.78270410791412e-9 9.78997077932904e-9 1.0662418942392275e-11 5.816951061105246e-12 1.9457857233845527e-11
0 List 7.926750212525723e-9 7.924853397896608e-9 7.928872596141466e-9 6.586243930141867e-12 5.317658771022977e-12 7.976760814952288e-12
1 HashMap 4.978391048827029e-8 4.9771588957328355e-8 4.980722711893913e-8 5.4495985529210635e-11 3.640668562140351e-11 8.031237799485808e-11
1 Map.Lazy 3.471378434703282e-8 3.4704916971332e-8 3.473373782658136e-8 4.143995213377818e-11 2.389607625439748e-11 8.011283847618782e-11
1 Map.Strict 3.190828371929919e-8 3.1904030704659456e-8 3.191680331579312e-8 2.040167047218248e-11 1.3434597650426834e-11 3.507267418127329e-11
1 InsOrd 6.726357974340387e-8 6.724873234646417e-8 6.728981699445822e-8 6.299432762796067e-11 4.22196024007185e-11 9.880842913906864e-11
1 ZVector 4.654645188375662e-8 4.653896797507965e-8 4.655607049002346e-8 2.8935711009688193e-11 2.0880095231462506e-11 4.124591239756909e-11
1 Vector 1.9495263682012362e-8 1.949200029674691e-8 1.9499154622587226e-8 1.154770899091513e-11 9.253232676895775e-12 1.470797730154688e-11
1 List 2.4592897577041987e-8 2.4587762329575813e-8 2.4600043514016722e-8 2.000769989933659e-11 1.3550387445205456e-11 3.3295283880268504e-11
2 HashMap 9.797214150189362e-8 9.795108533874027e-8 9.800396950805615e-8 8.664361450534912e-11 6.546124727541628e-11 1.3155921398660963e-10
2 Map.Lazy 7.667524419559755e-8 7.666197553020325e-8 7.670112055032526e-8 6.072638466795868e-11 3.602958280018216e-11 1.0625545379983919e-10
2 Map.Strict 7.604325883489533e-8 7.6027401771852e-8 7.605952626762489e-8 5.2234256620768914e-11 4.289954323349639e-11 6.553462059242453e-11
2 InsOrd 1.3830098677296917e-7 1.3827954390338176e-7 1.383424168625618e-7 9.621329762338418e-11 5.619653501973439e-11 1.784843745442469e-10
2 ZVector 6.660702698606974e-8 6.65940150721326e-8 6.66274573554317e-8 5.6513590641515386e-11 3.9752634409301944e-11 9.082421261067889e-11
2 Vector 3.6141436685484725e-8 3.613429147569686e-8 3.614933433645574e-8 2.6739834042360243e-11 1.979457709375779e-11 3.694032533910419e-11
2 List 5.2615986993631906e-8 5.2606286213147695e-8 5.263338867913322e-8 4.267035256941774e-11 2.7833183199868205e-11 7.153962883608869e-11
4 HashMap 2.2827051293602252e-7 2.2727891050452308e-7 2.3060956345516308e-7 4.94616278126691e-9 2.8986164370830666e-9 8.70584224758712e-9
4 Map.Lazy 1.6512784034458986e-7 1.6389131700974793e-7 1.6673716668072672e-7 4.687894495825131e-9 3.726599151337721e-9 6.396259412266839e-9
4 Map.Strict 1.64067564951281e-7 1.615392960699694e-7 1.6780327806062992e-7 1.0593041496546922e-8 7.467161175952463e-9 1.7787541236569707e-8
4 InsOrd 3.13260919910027e-7 3.0964843469849704e-7 3.1875964505462046e-7 1.500182190109586e-8 1.2067745230049863e-8 1.8859610443800004e-8
4 ZVector 1.2349149231274255e-7 1.2179650112836486e-7 1.2579098960927925e-7 6.347530744683191e-9 5.024655279770796e-9 7.759390136876501e-9
4 Vector 8.664936997600766e-8 8.657454324367283e-8 8.673506560622055e-8 2.712892289565869e-10 2.2631872816271686e-10 3.297310318180051e-10
4 List 1.4470456829896506e-7 1.4433023244599248e-7 1.4506461806664537e-7 1.1859723830469202e-9 1.0366304656068303e-9 1.375255365650056e-9
8 HashMap 5.011616208390537e-7 4.99994473767283e-7 5.021660232571435e-7 3.65320128466825e-9 3.146673166376928e-9 4.3307079558295045e-9
8 Map.Lazy 3.4586964726373165e-7 3.448519664760714e-7 3.495183488724551e-7 6.109492935102547e-9 5.697524418288667e-10 1.2868996329737432e-8
8 Map.Strict 3.396985358007092e-7 3.3663198635040495e-7 3.4563545159739723e-7 1.3680178810661992e-8 9.523099981850644e-9 2.091438874873328e-8
8 InsOrd 6.343485116763661e-7 6.338236967222564e-7 6.357997889526845e-7 2.6278738483567523e-9 8.796101312034547e-10 4.5142950550488405e-9
8 ZVector 3.304405566202073e-7 3.272175594479408e-7 3.351388046502262e-7 1.3168590110227938e-8 8.67054769044385e-9 1.6809426779658728e-8
8 Vector 3.101494009439523e-7 3.06838311938118e-7 3.1451520087936355e-7 1.2902717537230762e-8 9.815053647359314e-9 1.624661892007352e-8
8 List 4.748084708405827e-7 4.7155623834832963e-7 4.811272907691748e-7 1.446220619838251e-8 9.225048385802616e-9 2.081274485166848e-8
16 HashMap 1.075165593447454e-6 1.063807702653764e-6 1.0929960755668243e-6 4.831509718309675e-8 3.4691690341157645e-8 6.0279432516693e-8
16 Map.Lazy 1.192048396134207e-6 1.1809942979502708e-6 1.2026774380612206e-6 3.859730594534356e-8 3.534073622111644e-8 4.26482175011618e-8
16 Map.Strict 1.2013917214162546e-6 1.1999756576360149e-6 1.2041106853507084e-6 6.582242188733298e-9 4.015453310124657e-9 1.0860217554509509e-8
16 InsOrd 1.3863332390672645e-6 1.3779747947933656e-6 1.3998624861024887e-6 3.4719789956423836e-8 2.4742478515167835e-8 4.89124330572772e-8
16 ZVector 8.583346471098912e-7 8.494802253775264e-7 8.689586049043915e-7 3.1871337921812086e-8 2.720116813877451e-8 3.732334735208012e-8
16 Vector 8.992048786381561e-7 8.980348835700161e-7 9.0038644262222e-7 3.904563816370184e-9 3.321836598369185e-9 4.557479803402806e-9
16 List 1.4789301253384302e-6 1.4786426958115394e-6 1.4797345518245072e-6 1.511856141799119e-9 7.599721359335364e-10 3.2161707285830183e-9
32 HashMap 2.1420770237695777e-6 2.1411565112274117e-6 2.143624714167789e-6 3.951815071306763e-9 2.8790132163469213e-9 6.542109980027967e-9
32 Map.Lazy 3.429120223645606e-6 3.3797950189297916e-6 3.4814638248073466e-6 1.7523301204610602e-7 1.517278485678189e-7 1.972400247410525e-7
32 Map.Strict 3.4880016110781688e-6 3.47370208917537e-6 3.5220098903331525e-6 6.91108580589797e-8 3.08427496252778e-8 1.1472961542445712e-7
32 InsOrd 2.888346732459092e-6 2.8425132733161107e-6 2.9394942478827138e-6 1.5553947242459932e-7 1.2381709706323396e-7 1.7639111785191607e-7
32 ZVector 3.2329110850603645e-6 3.2132376005874394e-6 3.270684890207915e-6 8.748418113028105e-8 5.1353821038236e-8 1.327819917429456e-7
32 Vector 3.775103615419328e-6 3.7318071533626906e-6 3.827785039896221e-6 1.6685878405398682e-7 1.4224600636490718e-7 1.9193354063916723e-7
32 List 5.710636569825838e-6 5.654678317804134e-6 5.802299656572565e-6 2.3687344567985893e-7 1.7097857276070816e-7 2.9632038178335725e-7
64 HashMap 4.497501784611646e-6 4.492928900160078e-6 4.517675462242045e-6 2.610591780536829e-8 8.767782867154228e-9 5.676807191832953e-8
64 Map.Lazy 8.245347722292778e-6 8.239602999712439e-6 8.250739179701356e-6 1.8714620293656556e-8 1.4593419288265091e-8 2.4857205821083204e-8
64 Map.Strict 8.940367278868696e-6 8.906418575614854e-6 9.013412020486754e-6 1.604289282155777e-7 2.3753055308210198e-8 2.731811071634286e-7
64 InsOrd 6.06986746466586e-6 5.884803986466609e-6 6.5826038305971735e-6 9.113029885043142e-7 2.414734853387852e-7 1.7802628357839786e-6
64 ZVector 1.2861805693155733e-5 1.2709650759283335e-5 1.3092483322833119e-5 6.286066911247258e-7 5.049190256996996e-7 7.936728243456633e-7
64 Vector 1.4215127961336207e-5 1.4106055788282058e-5 1.4410013350895353e-5 4.761778188964337e-7 3.562246369589455e-7 6.148522161119195e-7
64 List 2.1695624403375797e-5 2.1513879488885218e-5 2.197514093467861e-5 7.479161160315498e-7 6.078419371049007e-7 9.456475330244083e-7
128 HashMap 9.7820158864185e-6 9.757895222589006e-6 9.827727628565008e-6 1.0866366186109625e-7 7.284862137941469e-8 1.7131065165603347e-7
128 Map.Lazy 2.177058167136059e-5 2.1565031240863037e-5 2.2063590683561974e-5 8.053860163209131e-7 5.638304753583696e-7 1.0375656302902687e-6
128 Map.Strict 2.365141891962993e-5 2.347008925593168e-5 2.3981952768395717e-5 7.904088859009895e-7 4.586435016790924e-7 1.107732418572535e-6
128 InsOrd 1.3090829251976748e-5 1.2987068238233463e-5 1.3274529413827427e-5 4.4669391094698345e-7 2.882190695613606e-7 6.429987688434572e-7
128 ZVector 4.099677746936227e-5 4.063771887403032e-5 4.1459313131258286e-5 1.3553682361092824e-6 1.0483154865568372e-6 1.6950822668624044e-6
128 Vector 4.9484284160364986e-5 4.916939005682416e-5 5.009356644909614e-5 1.4208296712487327e-6 8.162978149220386e-7 2.087522532490237e-6
128 List 7.669398752681514e-5 7.599815455329177e-5 7.781138110595024e-5 2.9296487689921057e-6 2.150115176936215e-6 3.684671177856986e-6
256 HashMap 2.2368034295741706e-5 2.215101073673874e-5 2.2652967127450264e-5 8.812170173227692e-7 7.180747793217784e-7 1.0881359179873592e-6
256 Map.Lazy 5.715591333878956e-5 5.6445353572540074e-5 5.8137275587365797e-5 2.8334726261442477e-6 2.2438631449970983e-6 3.3260574070608987e-6
256 Map.Strict 6.171237758261507e-5 6.092884766312339e-5 6.267038335377908e-5 2.8958687784296957e-6 2.191647483416169e-6 3.5311080774299394e-6
256 InsOrd 2.9821179313897076e-5 2.966949604325607e-5 3.0170303942326986e-5 7.251089599913336e-7 3.3365704842927653e-7 1.3220475754816167e-6
256 ZVector 1.4937604794230074e-4 1.4925242585347493e-4 1.4950537145850837e-4 4.171918382327329e-7 3.577414559348236e-7 4.882404691206207e-7
256 Vector 1.873410557390383e-4 1.873025900865208e-4 1.87407457472319e-4 1.7185215892324435e-7 1.1474579463919549e-7 2.88570927496986e-7
256 List 2.924192794957333e-4 2.9150985306465447e-4 2.9594472963669576e-4 5.176655283674061e-6 7.347264549572569e-7 1.1291074696118093e-5
512 HashMap 4.714255306882606e-5 4.676616570690568e-5 4.773011751163176e-5 1.6022880415655353e-6 1.194542300784775e-6 1.997565359115835e-6
512 Map.Lazy 1.3174483732149823e-4 1.3171039036695827e-4 1.317862923977765e-4 1.210957485421965e-7 9.36221016157542e-8 1.7501474978362694e-7
512 Map.Strict 1.426791763964818e-4 1.4262950482915628e-4 1.427312481809734e-4 1.7783226611028815e-7 1.4711767068820644e-7 2.1627181838791025e-7
512 InsOrd 6.526697698118857e-5 6.52274474956935e-5 6.529929912276127e-5 1.232162441468319e-7 1.0184808437975081e-7 1.487313241060067e-7
512 ZVector 6.589471500799992e-4 6.582755503399656e-4 6.596809889572766e-4 2.340209758701874e-6 1.9414454167122075e-6 2.897438537411736e-6
512 Vector 7.927157250205178e-4 7.911692323237248e-4 7.959317216040753e-4 7.203425065615806e-6 4.23550927742381e-6 1.21448557982829e-5
512 List 1.2075360156863179e-3 1.2044535818895555e-3 1.2156807091048987e-3 1.562911377044244e-5 2.7286674707711555e-6 2.79532377002314e-5
1024 HashMap 1.0257928294082891e-4 1.0253596480112412e-4 1.0262183035594964e-4 1.426369795541606e-7 1.164732233902169e-7 1.8381104004011253e-7
1024 Map.Lazy 3.0682894922888276e-4 3.054740933968734e-4 3.102995397203061e-4 6.376626523994282e-6 4.818315337008674e-7 1.1558959298111997e-5
1024 Map.Strict 3.490283378219481e-4 3.4510611303453727e-4 3.5439994423339675e-4 1.5596068992958354e-5 1.2927063109956128e-5 1.8899900129219198e-5
1024 InsOrd 1.5325363303288447e-4 1.5267940628425645e-4 1.546662234731575e-4 2.854061263875478e-6 1.418361551996787e-6 4.794384907181241e-6
1024 ZVector 2.929779904742459e-3 2.92367795878212e-3 2.935861107680075e-3 2.0661430733411315e-5 1.7754805052208416e-5 2.5418948292334248e-5
1024 Vector 3.5482999067943215e-3 3.5346818297394946e-3 3.5643812563391068e-3 5.041212785646338e-5 4.1720306308983136e-5 6.624041041404624e-5
1024 List 4.881699013215146e-3 4.880024180259639e-3 4.8838488082171986e-3 5.635991963867855e-6 4.267425309044756e-6 7.783754017533923e-6
Count: 0
HashMap mean 8.478 ns ( +- 116.2 ps )
Map.Lazy mean 10.27 ns ( +- 128.2 ps )
Map.Strict mean 10.57 ns ( +- 446.0 ps )
InsOrd mean 8.483 ns ( +- 313.6 ps )
ZVector mean 12.25 ns ( +- 389.9 ps )
Vector mean 9.785 ns ( +- 10.66 ps )
List mean 7.927 ns ( +- 6.586 ps )
Count: 1
HashMap mean 49.78 ns ( +- 54.50 ps )
Map.Lazy mean 34.71 ns ( +- 41.44 ps )
Map.Strict mean 31.91 ns ( +- 20.40 ps )
InsOrd mean 67.26 ns ( +- 62.99 ps )
ZVector mean 46.55 ns ( +- 28.94 ps )
Vector mean 19.50 ns ( +- 11.55 ps )
List mean 24.59 ns ( +- 20.01 ps )
Count: 2
HashMap mean 97.97 ns ( +- 86.64 ps )
Map.Lazy mean 76.68 ns ( +- 60.73 ps )
Map.Strict mean 76.04 ns ( +- 52.23 ps )
InsOrd mean 138.3 ns ( +- 96.21 ps )
ZVector mean 66.61 ns ( +- 56.51 ps )
Vector mean 36.14 ns ( +- 26.74 ps )
List mean 52.62 ns ( +- 42.67 ps )
Count: 4
HashMap mean 228.3 ns ( +- 4.946 ns )
Map.Lazy mean 165.1 ns ( +- 4.688 ns )
Map.Strict mean 164.1 ns ( +- 10.59 ns )
InsOrd mean 313.3 ns ( +- 15.00 ns )
ZVector mean 123.5 ns ( +- 6.348 ns )
Vector mean 86.65 ns ( +- 271.3 ps )
List mean 144.7 ns ( +- 1.186 ns )
Count: 8
HashMap mean 501.2 ns ( +- 3.653 ns )
Map.Lazy mean 345.9 ns ( +- 6.109 ns )
Map.Strict mean 339.7 ns ( +- 13.68 ns )
InsOrd mean 634.3 ns ( +- 2.628 ns )
ZVector mean 330.4 ns ( +- 13.17 ns )
Vector mean 310.1 ns ( +- 12.90 ns )
List mean 474.8 ns ( +- 14.46 ns )
Count: 16
HashMap mean 1.075 μs ( +- 48.32 ns )
Map.Lazy mean 1.192 μs ( +- 38.60 ns )
Map.Strict mean 1.201 μs ( +- 6.582 ns )
InsOrd mean 1.386 μs ( +- 34.72 ns )
ZVector mean 858.3 ns ( +- 31.87 ns )
Vector mean 899.2 ns ( +- 3.905 ns )
List mean 1.479 μs ( +- 1.512 ns )
Count: 32
HashMap mean 2.142 μs ( +- 3.952 ns )
Map.Lazy mean 3.429 μs ( +- 175.2 ns )
Map.Strict mean 3.488 μs ( +- 69.11 ns )
InsOrd mean 2.888 μs ( +- 155.5 ns )
ZVector mean 3.233 μs ( +- 87.48 ns )
Vector mean 3.775 μs ( +- 166.9 ns )
List mean 5.711 μs ( +- 236.9 ns )
Count: 64
HashMap mean 4.498 μs ( +- 26.11 ns )
Map.Lazy mean 8.245 μs ( +- 18.71 ns )
Map.Strict mean 8.940 μs ( +- 160.4 ns )
InsOrd mean 6.070 μs ( +- 911.3 ns )
ZVector mean 12.86 μs ( +- 628.6 ns )
Vector mean 14.22 μs ( +- 476.2 ns )
List mean 21.70 μs ( +- 747.9 ns )
Count: 128
HashMap mean 9.782 μs ( +- 108.7 ns )
Map.Lazy mean 21.77 μs ( +- 805.4 ns )
Map.Strict mean 23.65 μs ( +- 790.4 ns )
InsOrd mean 13.09 μs ( +- 446.7 ns )
ZVector mean 41.00 μs ( +- 1.355 μs )
Vector mean 49.48 μs ( +- 1.421 μs )
List mean 76.69 μs ( +- 2.930 μs )
Count: 256
HashMap mean 22.37 μs ( +- 881.2 ns )
Map.Lazy mean 57.16 μs ( +- 2.833 μs )
Map.Strict mean 61.71 μs ( +- 2.896 μs )
InsOrd mean 29.82 μs ( +- 725.1 ns )
ZVector mean 149.4 μs ( +- 417.2 ns )
Vector mean 187.3 μs ( +- 171.9 ns )
List mean 292.4 μs ( +- 5.177 μs )
Count: 512
HashMap mean 47.14 μs ( +- 1.602 μs )
Map.Lazy mean 131.7 μs ( +- 121.1 ns )
Map.Strict mean 142.7 μs ( +- 177.8 ns )
InsOrd mean 65.27 μs ( +- 123.2 ns )
ZVector mean 658.9 μs ( +- 2.340 μs )
Vector mean 792.7 μs ( +- 7.203 μs )
List mean 1.208 ms ( +- 15.63 μs )
Count: 1024
HashMap mean 102.6 μs ( +- 142.6 ns )
Map.Lazy mean 306.8 μs ( +- 6.377 μs )
Map.Strict mean 349.0 μs ( +- 15.60 μs )
InsOrd mean 153.3 μs ( +- 2.854 μs )
ZVector mean 2.930 ms ( +- 20.66 μs )
Vector mean 3.548 ms ( +- 50.41 μs )
List mean 4.882 ms ( +- 5.636 μs )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment