Benchmarks for haskell/aeson#864.
Last active
September 18, 2021 14:26
-
-
Save tfausak/33364b81dff41316273df551814b5a8e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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