Last active
October 30, 2015 19:41
-
-
Save mkscrg/ce62b5c2748126f54ef6 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
name: lastconduit | |
version: 0.1.0.0 | |
build-type: Simple | |
cabal-version: >=1.10 | |
executable lastconduit | |
main-is: Main.hs | |
default-language: Haskell2010 | |
ghc-options: -Wall | |
build-depends: | |
base | |
, conduit-combinators | |
, containers | |
, criterion | |
, primitive | |
, vector |
This file contains hidden or 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
module Main where | |
import Conduit | |
import Control.Monad.Primitive | |
import Data.Sequence ((|>)) | |
import qualified Data.Sequence as Seq | |
import qualified Data.Vector.Mutable as V | |
import Criterion.Main | |
main :: IO () | |
main = defaultMain $ map (group . truncate . (10 **)) [0::Double, 0.5 .. 6] | |
where | |
input = return ([1 .. 10000000] :: [Int]) | |
group n = bgroup ("N=" ++ show n) $ | |
[ env input $ \xs -> bench "baseline" $ nfIO $ | |
runConduit $ yieldMany xs =$= (lengthC :: Sink a IO Int) | |
, env input $ \xs -> bench "2-list queue" $ nfIO $ | |
runConduit $ yieldMany xs =$= lastNCQ n =$= sinkNull | |
, env input $ \xs -> bench "Data.Sequence" $ nfIO $ | |
runConduit $ yieldMany xs =$= lastNCSeq n =$= sinkNull | |
, env input $ \xs -> bench "Data.Vector.Mutable" $ nfIO $ | |
runConduit $ yieldMany xs =$= lastNCVec n =$= sinkNull | |
-- too slow to run @ n>500 | |
] ++ if n > 500 then [] else | |
[ env input $ \xs -> bench "list append" $ nfIO $ | |
runConduit $ yieldMany xs =$= lastNCList n =$= sinkNull | |
] | |
lastNCList :: Monad m => Int -> Conduit a m a | |
lastNCList n = (takeC n =$= sinkList) >>= foldlC rotate >>= yieldMany | |
where | |
rotate xs x = drop 1 (xs ++ [x]) | |
lastNCSeq :: Monad m => Int -> Conduit a m a | |
lastNCSeq n = (takeC n =$= Seq.fromList <$> sinkList) >>= foldlC rotate >>= yieldMany | |
where | |
rotate xs x = Seq.drop 1 xs |> x | |
lastNCVec :: PrimMonad m => Int -> Conduit a m a | |
lastNCVec n = do | |
vec <- lift (V.new n) | |
i <- foldMC (pull vec) 0 | |
mapM_ (push vec) (take n $ iterate next i) | |
where | |
next i = (i + 1) `mod` n | |
pull vec i x = V.unsafeWrite vec i x >> return (next i) | |
push vec i = lift (V.unsafeRead vec i) >>= yield | |
lastNCQ :: Monad m => Int -> Conduit a m a | |
lastNCQ n = do | |
outq <- takeC n =$= sinkList | |
loop [] outq | |
where | |
loop inq [] = loop [] (reverse inq) | |
loop inq outq@(_:os) = await >>= \mx -> case mx of | |
Nothing -> mapM_ yield outq >> mapM_ yield (reverse inq) | |
Just i -> loop (i:inq) os |
This file contains hidden or 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
n | impl | mean | stdev | |
---|---|---|---|---|
1 | baseline | 81.77 ns | 4.415 ns | |
1 | 2-list queue | 264.6 ms | 8.389 ms | |
1 | Data.Sequence | 223.5 ms | 5.729 ms | |
1 | Data.Vector.Mutable | 1.344 s | 48.23 ms | |
1 | list append | 320.5 ms | 14.37 ms | |
3 | baseline | 84.25 ns | 3.922 ns | |
3 | 2-list queue | 271.8 ms | 4.834 ms | |
3 | Data.Sequence | 414.4 ms | 6.742 ms | |
3 | Data.Vector.Mutable | 1.394 s | 21.26 ms | |
3 | list append | 416.6 ms | 7.564 ms | |
10 | baseline | 80.93 ns | 2.805 ns | |
10 | 2-list queue | 285.3 ms | 17.14 ms | |
10 | Data.Sequence | 671.1 ms | 1.908 ms | |
10 | Data.Vector.Mutable | 1.420 s | 4.350 ms | |
10 | list append | 846.3 ms | 15.61 ms | |
31 | baseline | 80.77 ns | 2.677 ns | |
31 | 2-list queue | 269.1 ms | 5.921 ms | |
31 | Data.Sequence | 726.0 ms | 13.38 ms | |
31 | Data.Vector.Mutable | 1.333 s | 15.18 ms | |
31 | list append | 2.186 s | 193.1 ms | |
100 | baseline | 82.36 ns | 4.664 ns | |
100 | 2-list queue | 293.2 ms | 6.161 ms | |
100 | Data.Sequence | 823.1 ms | 22.09 ms | |
100 | Data.Vector.Mutable | 1.407 s | 18.24 ms | |
100 | list append | 7.001 s | 286.0 ms | |
316 | baseline | 81.19 ns | 2.859 ns | |
316 | 2-list queue | 295.6 ms | 6.730 ms | |
316 | Data.Sequence | 821.2 ms | 6.267 ms | |
316 | Data.Vector.Mutable | 1.422 s | 17.04 ms | |
316 | list append | 27.21 s | 1.183 s | |
1000 | baseline | 84.66 ns | 4.864 ns | |
1000 | 2-list queue | 394.1 ms | 40.95 ms | |
1000 | Data.Sequence | 1.078 s | 36.97 ms | |
1000 | Data.Vector.Mutable | 1.379 s | 3.227 ms | |
3162 | baseline | 82.21 ns | 5.316 ns | |
3162 | 2-list queue | 553.7 ms | 49.34 ms | |
3162 | Data.Sequence | 1.310 s | 90.05 ms | |
3162 | Data.Vector.Mutable | 1.415 s | 8.353 ms | |
10000 | baseline | 84.99 ns | 4.916 ns | |
10000 | 2-list queue | 1.118 s | 61.66 ms | |
10000 | Data.Sequence | 1.300 s | 31.64 ms | |
10000 | Data.Vector.Mutable | 1.361 s | 77.81 ms | |
31622 | baseline | 84.95 ns | 5.835 ns | |
31622 | 2-list queue | 1.212 s | 58.83 ms | |
31622 | Data.Sequence | 1.194 s | 83.93 ms | |
31622 | Data.Vector.Mutable | 1.369 s | 65.62 ms | |
100000 | baseline | 84.13 ns | 5.698 ns | |
100000 | 2-list queue | 1.264 s | 41.99 ms | |
100000 | Data.Sequence | 1.288 s | 166.6 ms | |
100000 | Data.Vector.Mutable | 1.527 s | 43.13 ms | |
316227 | baseline | 83.50 ns | 5.706 ns | |
316227 | 2-list queue | 1.337 s | 194.4 ms | |
316227 | Data.Sequence | 1.337 s | 162.0 ms | |
316227 | Data.Vector.Mutable | 1.357 s | 23.08 ms | |
1000000 | baseline | 80.56 ns | 2.692 ns | |
1000000 | 2-list queue | 1.171 s | 42.17 ms | |
1000000 | Data.Sequence | 1.395 s | 53.45 ms | |
1000000 | Data.Vector.Mutable | 1.610 s | 56.48 ms |
This file contains hidden or 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
benchmarking N=1/baseline | |
time 80.90 ns (80.16 ns .. 81.72 ns) | |
0.999 R² (0.998 R² .. 0.999 R²) | |
mean 81.77 ns (80.53 ns .. 83.18 ns) | |
std dev 4.415 ns (3.149 ns .. 6.460 ns) | |
variance introduced by outliers: 74% (severely inflated) | |
benchmarking N=1/2-list queue | |
time 268.2 ms (245.2 ms .. 304.5 ms) | |
0.995 R² (0.990 R² .. 1.000 R²) | |
mean 264.6 ms (257.3 ms .. 271.7 ms) | |
std dev 8.389 ms (6.125 ms .. 9.851 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=1/Data.Sequence | |
time 220.6 ms (210.7 ms .. 232.4 ms) | |
0.998 R² (0.993 R² .. 1.000 R²) | |
mean 223.5 ms (219.0 ms .. 227.5 ms) | |
std dev 5.729 ms (4.350 ms .. 6.539 ms) | |
variance introduced by outliers: 14% (moderately inflated) | |
benchmarking N=1/Data.Vector.Mutable | |
time 1.423 s (1.327 s .. 1.640 s) | |
0.997 R² (0.995 R² .. 1.000 R²) | |
mean 1.344 s (1.313 s .. 1.400 s) | |
std dev 48.23 ms (0.0 s .. 50.00 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1/list append | |
time 311.7 ms (272.7 ms .. 327.9 ms) | |
0.996 R² (0.988 R² .. 1.000 R²) | |
mean 320.5 ms (310.2 ms .. 335.3 ms) | |
std dev 14.37 ms (3.936 ms .. 19.34 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=3/baseline | |
time 83.90 ns (83.21 ns .. 84.60 ns) | |
0.999 R² (0.998 R² .. 0.999 R²) | |
mean 84.25 ns (83.11 ns .. 85.45 ns) | |
std dev 3.922 ns (3.265 ns .. 4.757 ns) | |
variance introduced by outliers: 68% (severely inflated) | |
benchmarking N=3/2-list queue | |
time 264.8 ms (254.8 ms .. 276.4 ms) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 271.8 ms (267.9 ms .. 276.3 ms) | |
std dev 4.834 ms (2.311 ms .. 6.727 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=3/Data.Sequence | |
time 416.3 ms (391.9 ms .. 461.0 ms) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 414.4 ms (407.3 ms .. 418.8 ms) | |
std dev 6.742 ms (0.0 s .. 7.756 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=3/Data.Vector.Mutable | |
time 1.397 s (1.338 s .. 1.537 s) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 1.394 s (1.370 s .. 1.407 s) | |
std dev 21.26 ms (0.0 s .. 24.02 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=3/list append | |
time 416.6 ms (381.9 ms .. 455.9 ms) | |
0.999 R² (0.996 R² .. 1.000 R²) | |
mean 416.6 ms (410.8 ms .. 425.2 ms) | |
std dev 7.564 ms (0.0 s .. 8.315 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10/baseline | |
time 81.84 ns (81.25 ns .. 82.43 ns) | |
0.999 R² (0.999 R² .. 1.000 R²) | |
mean 80.93 ns (79.90 ns .. 81.55 ns) | |
std dev 2.805 ns (1.707 ns .. 4.300 ns) | |
variance introduced by outliers: 54% (severely inflated) | |
benchmarking N=10/2-list queue | |
time 263.8 ms (248.1 ms .. 278.3 ms) | |
0.996 R² (0.980 R² .. 1.000 R²) | |
mean 285.3 ms (274.0 ms .. 303.4 ms) | |
std dev 17.14 ms (278.2 μs .. 21.05 ms) | |
variance introduced by outliers: 17% (moderately inflated) | |
benchmarking N=10/Data.Sequence | |
time 672.5 ms (657.9 ms .. 680.2 ms) | |
1.000 R² (1.000 R² .. 1.000 R²) | |
mean 671.1 ms (669.3 ms .. 672.4 ms) | |
std dev 1.908 ms (0.0 s .. 2.192 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10/Data.Vector.Mutable | |
time 1.421 s (1.403 s .. 1.452 s) | |
1.000 R² (1.000 R² .. 1.000 R²) | |
mean 1.420 s (1.416 s .. 1.423 s) | |
std dev 4.350 ms (0.0 s .. 5.022 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10/list append | |
time 830.5 ms (768.2 ms .. 893.5 ms) | |
0.999 R² (0.997 R² .. 1.000 R²) | |
mean 846.3 ms (830.7 ms .. 856.7 ms) | |
std dev 15.61 ms (0.0 s .. 18.03 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=31/baseline | |
time 81.29 ns (80.73 ns .. 81.81 ns) | |
0.999 R² (0.999 R² .. 1.000 R²) | |
mean 80.77 ns (79.88 ns .. 81.42 ns) | |
std dev 2.677 ns (1.743 ns .. 4.453 ns) | |
variance introduced by outliers: 52% (severely inflated) | |
benchmarking N=31/2-list queue | |
time 269.1 ms (254.7 ms .. 287.7 ms) | |
0.999 R² (0.997 R² .. 1.000 R²) | |
mean 269.1 ms (263.3 ms .. 273.4 ms) | |
std dev 5.921 ms (2.749 ms .. 7.745 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=31/Data.Sequence | |
time 753.5 ms (719.5 ms .. 810.1 ms) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 726.0 ms (718.0 ms .. 741.4 ms) | |
std dev 13.38 ms (0.0 s .. 13.52 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=31/Data.Vector.Mutable | |
time 1.320 s (1.259 s .. 1.387 s) | |
1.000 R² (0.999 R² .. 1.000 R²) | |
mean 1.333 s (1.317 s .. 1.343 s) | |
std dev 15.18 ms (0.0 s .. 17.28 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=31/list append | |
time 2.497 s (2.044 s .. 3.298 s) | |
0.986 R² (0.981 R² .. 1.000 R²) | |
mean 2.186 s (2.044 s .. 2.406 s) | |
std dev 193.1 ms (0.0 s .. 208.9 ms) | |
variance introduced by outliers: 22% (moderately inflated) | |
benchmarking N=100/baseline | |
time 83.05 ns (81.72 ns .. 84.26 ns) | |
0.998 R² (0.996 R² .. 0.999 R²) | |
mean 82.36 ns (81.12 ns .. 83.79 ns) | |
std dev 4.664 ns (3.680 ns .. 6.445 ns) | |
variance introduced by outliers: 76% (severely inflated) | |
benchmarking N=100/2-list queue | |
time 286.0 ms (274.9 ms .. 292.0 ms) | |
1.000 R² (0.998 R² .. 1.000 R²) | |
mean 293.2 ms (289.8 ms .. 299.5 ms) | |
std dev 6.161 ms (87.45 μs .. 7.906 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=100/Data.Sequence | |
time 798.7 ms (757.3 ms .. 887.3 ms) | |
0.999 R² (0.997 R² .. 1.000 R²) | |
mean 823.1 ms (804.4 ms .. 837.4 ms) | |
std dev 22.09 ms (0.0 s .. 24.87 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=100/Data.Vector.Mutable | |
time 1.414 s (1.320 s .. 1.507 s) | |
0.999 R² (NaN R² .. 1.000 R²) | |
mean 1.407 s (1.386 s .. 1.418 s) | |
std dev 18.24 ms (271.9 as .. 18.93 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=100/list append | |
time 6.773 s (5.013 s .. 7.928 s) | |
0.993 R² (0.975 R² .. 1.000 R²) | |
mean 7.001 s (6.726 s .. 7.191 s) | |
std dev 286.0 ms (0.0 s .. 329.7 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=316/baseline | |
time 80.74 ns (80.14 ns .. 81.31 ns) | |
0.999 R² (0.999 R² .. 1.000 R²) | |
mean 81.19 ns (80.38 ns .. 82.07 ns) | |
std dev 2.859 ns (2.102 ns .. 3.887 ns) | |
variance introduced by outliers: 55% (severely inflated) | |
benchmarking N=316/2-list queue | |
time 290.1 ms (272.3 ms .. 305.6 ms) | |
0.999 R² (0.997 R² .. 1.000 R²) | |
mean 295.6 ms (289.2 ms .. 301.0 ms) | |
std dev 6.730 ms (2.884 ms .. 9.074 ms) | |
variance introduced by outliers: 16% (moderately inflated) | |
benchmarking N=316/Data.Sequence | |
time 818.5 ms (797.0 ms .. 850.4 ms) | |
1.000 R² (0.999 R² .. 1.000 R²) | |
mean 821.2 ms (817.2 ms .. 824.9 ms) | |
std dev 6.267 ms (136.0 as .. 6.460 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=316/Data.Vector.Mutable | |
time 1.440 s (1.358 s .. 1.508 s) | |
1.000 R² (0.999 R² .. 1.000 R²) | |
mean 1.422 s (1.406 s .. 1.433 s) | |
std dev 17.04 ms (0.0 s .. 19.52 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=316/list append | |
time 27.55 s (22.36 s .. 34.87 s) | |
0.992 R² (0.977 R² .. 1.000 R²) | |
mean 27.21 s (25.87 s .. 27.96 s) | |
std dev 1.183 s (0.0 s .. 1.300 s) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1000/baseline | |
time 84.36 ns (82.24 ns .. 86.04 ns) | |
0.997 R² (0.996 R² .. 0.998 R²) | |
mean 84.66 ns (83.38 ns .. 86.29 ns) | |
std dev 4.864 ns (3.929 ns .. 6.413 ns) | |
variance introduced by outliers: 76% (severely inflated) | |
benchmarking N=1000/2-list queue | |
time 448.4 ms (303.8 ms .. 573.3 ms) | |
0.982 R² (0.979 R² .. 1.000 R²) | |
mean 394.1 ms (354.8 ms .. 421.3 ms) | |
std dev 40.95 ms (0.0 s .. 47.18 ms) | |
variance introduced by outliers: 23% (moderately inflated) | |
benchmarking N=1000/Data.Sequence | |
time 1.023 s (921.5 ms .. 1.142 s) | |
0.998 R² (0.997 R² .. 1.000 R²) | |
mean 1.078 s (1.040 s .. 1.103 s) | |
std dev 36.97 ms (0.0 s .. 42.66 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1000/Data.Vector.Mutable | |
time 1.360 s (1.335 s .. 1.382 s) | |
1.000 R² (1.000 R² .. 1.000 R²) | |
mean 1.379 s (1.375 s .. 1.381 s) | |
std dev 3.227 ms (0.0 s .. 3.339 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=3162/baseline | |
time 80.87 ns (80.36 ns .. 81.54 ns) | |
0.999 R² (0.999 R² .. 1.000 R²) | |
mean 82.21 ns (81.16 ns .. 84.84 ns) | |
std dev 5.316 ns (2.296 ns .. 10.30 ns) | |
variance introduced by outliers: 80% (severely inflated) | |
benchmarking N=3162/2-list queue | |
time 475.2 ms (383.6 ms .. 608.1 ms) | |
0.991 R² (0.975 R² .. 1.000 R²) | |
mean 553.7 ms (516.9 ms .. 584.6 ms) | |
std dev 49.34 ms (0.0 s .. 53.59 ms) | |
variance introduced by outliers: 22% (moderately inflated) | |
benchmarking N=3162/Data.Sequence | |
time 1.444 s (1.211 s .. 1.728 s) | |
0.996 R² (0.985 R² .. 1.000 R²) | |
mean 1.310 s (1.209 s .. 1.368 s) | |
std dev 90.05 ms (0.0 s .. 99.86 ms) | |
variance introduced by outliers: 20% (moderately inflated) | |
benchmarking N=3162/Data.Vector.Mutable | |
time 1.402 s (1.317 s .. 1.450 s) | |
1.000 R² (0.999 R² .. 1.000 R²) | |
mean 1.415 s (1.407 s .. 1.420 s) | |
std dev 8.353 ms (0.0 s .. 9.638 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10000/baseline | |
time 84.20 ns (82.53 ns .. 85.92 ns) | |
0.997 R² (0.995 R² .. 0.999 R²) | |
mean 84.99 ns (83.54 ns .. 86.53 ns) | |
std dev 4.916 ns (3.804 ns .. 6.751 ns) | |
variance introduced by outliers: 77% (severely inflated) | |
benchmarking N=10000/2-list queue | |
time 1.268 s (864.4 ms .. 1.558 s) | |
0.989 R² (0.961 R² .. 1.000 R²) | |
mean 1.118 s (1.048 s .. 1.157 s) | |
std dev 61.66 ms (0.0 s .. 67.70 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10000/Data.Sequence | |
time 1.354 s (1.248 s .. 1.451 s) | |
0.999 R² (0.997 R² .. 1.000 R²) | |
mean 1.300 s (1.265 s .. 1.320 s) | |
std dev 31.64 ms (0.0 s .. 35.76 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=10000/Data.Vector.Mutable | |
time 1.231 s (1.131 s .. 1.445 s) | |
0.996 R² (0.993 R² .. 1.000 R²) | |
mean 1.361 s (1.292 s .. 1.412 s) | |
std dev 77.81 ms (0.0 s .. 88.52 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=31622/baseline | |
time 83.08 ns (81.67 ns .. 84.87 ns) | |
0.997 R² (0.996 R² .. 0.998 R²) | |
mean 84.95 ns (83.27 ns .. 86.88 ns) | |
std dev 5.835 ns (4.623 ns .. 7.552 ns) | |
variance introduced by outliers: 82% (severely inflated) | |
benchmarking N=31622/2-list queue | |
time 1.414 s (1.312 s .. 1.495 s) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 1.212 s (1.156 s .. 1.251 s) | |
std dev 58.83 ms (0.0 s .. 67.78 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=31622/Data.Sequence | |
time 1.318 s (1.081 s .. 1.504 s) | |
0.996 R² (0.987 R² .. 1.000 R²) | |
mean 1.194 s (1.098 s .. 1.245 s) | |
std dev 83.93 ms (0.0 s .. 88.63 ms) | |
variance introduced by outliers: 20% (moderately inflated) | |
benchmarking N=31622/Data.Vector.Mutable | |
time 1.265 s (1.164 s .. 1.458 s) | |
0.997 R² (0.995 R² .. 1.000 R²) | |
mean 1.369 s (1.310 s .. 1.413 s) | |
std dev 65.62 ms (0.0 s .. 74.99 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=100000/baseline | |
time 84.62 ns (82.78 ns .. 86.56 ns) | |
0.996 R² (0.994 R² .. 0.998 R²) | |
mean 84.13 ns (82.23 ns .. 85.94 ns) | |
std dev 5.698 ns (4.672 ns .. 7.247 ns) | |
variance introduced by outliers: 82% (severely inflated) | |
benchmarking N=100000/2-list queue | |
time 1.437 s (1.190 s .. 1.650 s) | |
0.997 R² (0.987 R² .. 1.000 R²) | |
mean 1.264 s (1.230 s .. 1.291 s) | |
std dev 41.99 ms (0.0 s .. 46.56 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=100000/Data.Sequence | |
time 1.471 s (1.059 s .. 2.073 s) | |
0.982 R² (0.950 R² .. 1.000 R²) | |
mean 1.288 s (1.103 s .. 1.396 s) | |
std dev 166.6 ms (0.0 s .. 186.7 ms) | |
variance introduced by outliers: 24% (moderately inflated) | |
benchmarking N=100000/Data.Vector.Mutable | |
time 1.590 s (1.493 s .. 1.712 s) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 1.527 s (1.477 s .. 1.553 s) | |
std dev 43.13 ms (0.0 s .. 45.17 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=316227/baseline | |
time 81.52 ns (80.20 ns .. 82.66 ns) | |
0.998 R² (0.997 R² .. 0.999 R²) | |
mean 83.50 ns (82.01 ns .. 85.45 ns) | |
std dev 5.706 ns (4.170 ns .. 7.885 ns) | |
variance introduced by outliers: 82% (severely inflated) | |
benchmarking N=316227/2-list queue | |
time 1.228 s (675.4 ms .. 2.270 s) | |
0.914 R² (0.871 R² .. 1.000 R²) | |
mean 1.337 s (1.155 s .. 1.466 s) | |
std dev 194.4 ms (0.0 s .. 223.4 ms) | |
variance introduced by outliers: 24% (moderately inflated) | |
benchmarking N=316227/Data.Sequence | |
time 1.579 s (1.095 s .. 1.869 s) | |
0.990 R² (0.967 R² .. 1.000 R²) | |
mean 1.337 s (1.154 s .. 1.440 s) | |
std dev 162.0 ms (0.0 s .. 178.6 ms) | |
variance introduced by outliers: 23% (moderately inflated) | |
benchmarking N=316227/Data.Vector.Mutable | |
time 1.351 s (1.242 s .. 1.426 s) | |
0.999 R² (0.998 R² .. 1.000 R²) | |
mean 1.357 s (1.335 s .. 1.373 s) | |
std dev 23.08 ms (0.0 s .. 26.63 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1000000/baseline | |
time 80.32 ns (79.59 ns .. 81.05 ns) | |
0.999 R² (0.999 R² .. 1.000 R²) | |
mean 80.56 ns (79.81 ns .. 81.45 ns) | |
std dev 2.692 ns (1.845 ns .. 3.825 ns) | |
variance introduced by outliers: 52% (severely inflated) | |
benchmarking N=1000000/2-list queue | |
time 1.349 s (1.236 s .. 1.487 s) | |
0.999 R² (0.996 R² .. 1.000 R²) | |
mean 1.171 s (1.131 s .. 1.198 s) | |
std dev 42.17 ms (0.0 s .. 48.48 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1000000/Data.Sequence | |
time 1.396 s (1.094 s .. 1.731 s) | |
0.990 R² (0.988 R² .. 1.000 R²) | |
mean 1.395 s (1.334 s .. 1.428 s) | |
std dev 53.45 ms (271.9 as .. 58.52 ms) | |
variance introduced by outliers: 19% (moderately inflated) | |
benchmarking N=1000000/Data.Vector.Mutable | |
time 1.693 s (1.559 s .. 1.848 s) | |
0.999 R² (0.996 R² .. 1.000 R²) | |
mean 1.610 s (1.545 s .. 1.644 s) | |
std dev 56.48 ms (271.9 as .. 58.28 ms) | |
variance introduced by outliers: 19% (moderately inflated) |
This file contains hidden or 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
resolver: lts-3.11 | |
packages: | |
- '.' | |
extra-deps: [] | |
flags: {} | |
extra-package-dbs: [] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment