Last active
December 16, 2015 11:18
-
-
Save Palmik/5425951 to your computer and use it in GitHub Desktop.
Updated results with containers-0.5.2.1
Updated results, now the benchmark was run with "-g"
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
{-# LANGUAGE GADTs #-} | |
module Main | |
where | |
import Control.DeepSeq (NFData(rnf)) | |
import Control.Exception.Base (evaluate) | |
import Control.Monad.Trans (liftIO) | |
import qualified Data.Set | |
import qualified Criterion.Config as C | |
import qualified Criterion.Main as C | |
data RNF where | |
RNF :: NFData a => a -> RNF | |
instance NFData RNF where | |
rnf (RNF x) = rnf x | |
main :: IO () | |
main = C.defaultMainWith C.defaultConfig (liftIO . evaluate $ rnf | |
[ RNF set10000 | |
, RNF set20000 | |
, RNF set40000 | |
, RNF set80000 | |
, RNF set160000 | |
, RNF set320000 | |
, RNF set640000 | |
, RNF set1280000 | |
, RNF set2560000 | |
, RNF set5120000 | |
]) | |
[ C.bench "5120000" $! C.nf (Data.Set.insert 9999999) set5120000 | |
, C.bench "2560000" $! C.nf (Data.Set.insert 9999999) set2560000 | |
, C.bench "1280000" $! C.nf (Data.Set.insert 9999999) set1280000 | |
, C.bench "640000" $! C.nf (Data.Set.insert 9999999) set640000 | |
, C.bench "320000" $! C.nf (Data.Set.insert 9999999) set320000 | |
, C.bench "160000" $! C.nf (Data.Set.insert 9999999) set160000 | |
, C.bench "80000" $! C.nf (Data.Set.insert 9999999) set80000 | |
, C.bench "40000" $! C.nf (Data.Set.insert 9999999) set40000 | |
, C.bench "20000" $! C.nf (Data.Set.insert 9999999) set20000 | |
, C.bench "10000" $! C.nf (Data.Set.insert 9999999) set10000 | |
] | |
type Set = Data.Set.Set Int | |
set10000 :: Set | |
set10000 = Data.Set.fromList [1 .. 10000] | |
set20000 :: Set | |
set20000 = Data.Set.fromList [1 .. 20000] | |
set40000 :: Set | |
set40000 = Data.Set.fromList [1 .. 40000] | |
set80000 :: Set | |
set80000 = Data.Set.fromList [1 .. 80000] | |
set160000 :: Set | |
set160000 = Data.Set.fromList [1 .. 160000] | |
set320000 :: Set | |
set320000 = Data.Set.fromList [1 .. 320000] | |
set640000 :: Set | |
set640000 = Data.Set.fromList [1 .. 640000] | |
set1280000 :: Set | |
set1280000 = Data.Set.fromList [1 .. 1280000] | |
set2560000 :: Set | |
set2560000 = Data.Set.fromList [1 .. 2560000] | |
set5120000 :: Set | |
set5120000 = Data.Set.fromList [1 .. 5120000] | |
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
warming up | |
estimating clock resolution... | |
mean is 1.358566 us (640001 iterations) | |
found 3174 outliers among 639999 samples (0.5%) | |
2730 (0.4%) high severe | |
estimating cost of a clock call... | |
mean is 44.18798 ns (10 iterations) | |
benchmarking 5120000 | |
collecting 100 samples, 1 iterations each, in estimated 10.08389 s | |
mean: 87.40868 ms, lb 87.37477 ms, ub 87.44454 ms, ci 0.950 | |
std dev: 178.9664 us, lb 157.6268 us, ub 208.1945 us, ci 0.950 | |
benchmarking 2560000 | |
mean: 43.84988 ms, lb 43.81914 ms, ub 43.89271 ms, ci 0.950 | |
std dev: 184.4242 us, lb 139.7513 us, ub 297.2442 us, ci 0.950 | |
benchmarking 1280000 | |
mean: 22.14120 ms, lb 22.11961 ms, ub 22.16378 ms, ci 0.950 | |
std dev: 113.2385 us, lb 101.2558 us, ub 128.6332 us, ci 0.950 | |
benchmarking 640000 | |
mean: 11.26488 ms, lb 11.23060 ms, ub 11.30079 ms, ci 0.950 | |
std dev: 180.6372 us, lb 159.0050 us, ub 211.8798 us, ci 0.950 | |
found 1 outliers among 100 samples (1.0%) | |
variance introduced by outliers: 8.508% | |
variance is slightly inflated by outliers | |
benchmarking 320000 | |
mean: 5.823954 ms, lb 5.792643 ms, ub 5.856458 ms, ci 0.950 | |
std dev: 164.8191 us, lb 147.1442 us, ub 187.5115 us, ci 0.950 | |
variance introduced by outliers: 22.876% | |
variance is moderately inflated by outliers | |
benchmarking 160000 | |
mean: 2.913350 ms, lb 2.891890 ms, ub 2.937876 ms, ci 0.950 | |
std dev: 117.3917 us, lb 102.6229 us, ub 139.9613 us, ci 0.950 | |
found 1 outliers among 100 samples (1.0%) | |
variance introduced by outliers: 37.536% | |
variance is moderately inflated by outliers | |
benchmarking 80000 | |
mean: 1.475254 ms, lb 1.458157 ms, ub 1.496032 ms, ci 0.950 | |
std dev: 96.24664 us, lb 83.04588 us, ub 126.2565 us, ci 0.950 | |
found 1 outliers among 100 samples (1.0%) | |
variance introduced by outliers: 61.543% | |
variance is severely inflated by outliers | |
benchmarking 40000 | |
mean: 602.8425 us, lb 599.2408 us, ub 607.4941 us, ci 0.950 | |
std dev: 21.00821 us, lb 17.11414 us, ub 25.32577 us, ci 0.950 | |
found 10 outliers among 100 samples (10.0%) | |
10 (10.0%) high mild | |
variance introduced by outliers: 30.683% | |
variance is moderately inflated by outliers | |
benchmarking 20000 | |
mean: 294.0113 us, lb 292.6214 us, ub 296.0923 us, ci 0.950 | |
std dev: 8.553101 us, lb 6.283806 us, ub 11.13053 us, ci 0.950 | |
found 16 outliers among 100 samples (16.0%) | |
8 (8.0%) high mild | |
8 (8.0%) high severe | |
variance introduced by outliers: 23.846% | |
variance is moderately inflated by outliers | |
benchmarking 10000 | |
mean: 146.3703 us, lb 145.8236 us, ub 147.2231 us, ci 0.950 | |
std dev: 3.451061 us, lb 2.451728 us, ub 4.604981 us, ci 0.950 | |
found 24 outliers among 100 samples (24.0%) | |
4 (4.0%) low mild | |
8 (8.0%) high mild | |
12 (12.0%) high severe | |
variance introduced by outliers: 17.089% | |
variance is moderately inflated by outliers |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment