criterion performance measurements

overview

want to understand this report?

int/loop

940 μs
950
960
970
980
990
1000
int/loop time densities
mean
940 μs
950
960
970
980
990
1000
int/loop times
lower bound estimate upper bound
Mean execution time 949.2 μs 951.1 μs 953.7 μs
Standard deviation 9.091 μs 11.28 μs 14.64 μs

Outlying measurements have no (1.0%) effect on estimated standard deviation.

int/unsafeLoop

630 μs
640
650
660
670
680
690
int/unsafeLoop time densities
mean
630 μs
640
650
660
670
680
690
int/unsafeLoop times
lower bound estimate upper bound
Mean execution time 632.5 μs 633.8 μs 636.5 μs
Standard deviation 4.804 μs 9.436 μs 15.70 μs

Outlying measurements have slight (7.5%) effect on estimated standard deviation.

int/numLoop

620 μs
630
640
650
660
670
680
690
700
710
int/numLoop time densities
mean
620 μs
630
640
650
660
670
680
690
700
710
int/numLoop times
lower bound estimate upper bound
Mean execution time 633.0 μs 634.9 μs 637.9 μs
Standard deviation 8.348 μs 11.89 μs 18.06 μs

Outlying measurements have moderate (11.4%) effect on estimated standard deviation.

int/forLoop

650 μs
700
750
800
int/forLoop time densities
mean
650 μs
700
750
800
int/forLoop times
lower bound estimate upper bound
Mean execution time 640.9 μs 645.7 μs 653.8 μs
Standard deviation 21.34 μs 31.36 μs 47.60 μs

Outlying measurements have moderate (46.5%) effect on estimated standard deviation.

int/loopLocal

950 μs
1000
1050
1100
1150
1200
1250
int/loopLocal time densities
mean
950 μs
1000
1050
1100
1150
1200
1250
int/loopLocal times
lower bound estimate upper bound
Mean execution time 956.7 μs 963.2 μs 975.0 μs
Standard deviation 27.14 μs 43.54 μs 68.60 μs

Outlying measurements have moderate (43.5%) effect on estimated standard deviation.

int/unsafeLoopLocal

620 μs
630
640
650
660
670
680
690
700
710
int/unsafeLoopLocal time densities
mean
620 μs
630
640
650
660
670
680
690
700
710
int/unsafeLoopLocal times
lower bound estimate upper bound
Mean execution time 633.3 μs 635.2 μs 638.2 μs
Standard deviation 8.902 μs 12.19 μs 18.76 μs

Outlying measurements have moderate (12.3%) effect on estimated standard deviation.

int/loopMonad

940 μs
960
980
1000
1020
1040
int/loopMonad time densities
mean
940 μs
960
980
1000
1020
1040
int/loopMonad times
lower bound estimate upper bound
Mean execution time 965.6 μs 969.4 μs 974.2 μs
Standard deviation 18.52 μs 21.83 μs 26.11 μs

Outlying measurements have moderate (16.1%) effect on estimated standard deviation.

int/numLoopMonadIntInlinable

2.75 ms
2.80
2.85
2.90
int/numLoopMonadIntInlinable time densities
mean
2.75 ms
2.80
2.85
2.90
int/numLoopMonadIntInlinable times
lower bound estimate upper bound
Mean execution time 2.792 ms 2.798 ms 2.805 ms
Standard deviation 28.91 μs 33.60 μs 41.40 μs

Outlying measurements have no (1.0%) effect on estimated standard deviation.

int/numLoopMonadIntInline

620 μs
640
660
680
700
720
int/numLoopMonadIntInline time densities
mean
620 μs
640
660
680
700
720
int/numLoopMonadIntInline times
lower bound estimate upper bound
Mean execution time 639.3 μs 642.1 μs 645.8 μs
Standard deviation 13.49 μs 16.48 μs 23.21 μs

Outlying measurements have moderate (20.0%) effect on estimated standard deviation.

int/numLoopInt

650 μs
700
750
800
int/numLoopInt time densities
mean
650 μs
700
750
800
int/numLoopInt times
lower bound estimate upper bound
Mean execution time 638.6 μs 641.6 μs 647.2 μs
Standard deviation 13.27 μs 20.40 μs 37.38 μs

Outlying measurements have moderate (26.8%) effect on estimated standard deviation.

int/numLoopEndInt

630 μs
640
650
660
670
680
int/numLoopEndInt time densities
mean
630 μs
640
650
660
670
680
int/numLoopEndInt times
lower bound estimate upper bound
Mean execution time 632.5 μs 633.9 μs 635.9 μs
Standard deviation 6.574 μs 8.588 μs 13.47 μs

Outlying measurements have slight (6.6%) effect on estimated standard deviation.

int/listForM_Int

620 μs
640
660
680
700
720
740
int/listForM_Int time densities
mean
620 μs
640
660
680
700
720
740
int/listForM_Int times
lower bound estimate upper bound
Mean execution time 634.2 μs 636.5 μs 641.1 μs
Standard deviation 7.699 μs 15.83 μs 26.58 μs

Outlying measurements have moderate (19.0%) effect on estimated standard deviation.

int/vectorFromListInt

4.2 ms
4.4
4.6
4.8
5.0
5.2
int/vectorFromListInt time densities
mean
4.2 ms
4.4
4.6
4.8
5.0
5.2
int/vectorFromListInt times
lower bound estimate upper bound
Mean execution time 4.311 ms 4.341 ms 4.383 ms
Standard deviation 139.1 μs 179.7 μs 241.0 μs

Outlying measurements have moderate (38.5%) effect on estimated standard deviation.

int/vectorEnumFromToInt

600 μs
700
800
900
1000
1100
int/vectorEnumFromToInt time densities
mean
600 μs
700
800
900
1000
1100
int/vectorEnumFromToInt times
lower bound estimate upper bound
Mean execution time 640.1 μs 646.0 μs 668.0 μs
Standard deviation 13.10 μs 52.07 μs 120.5 μs

Outlying measurements have severe (70.8%) effect on estimated standard deviation.

int/uvectorFromListInt

4.20 ms
4.30
4.40
4.50
4.60
4.70
int/uvectorFromListInt time densities
mean
4.20 ms
4.30
4.40
4.50
4.60
4.70
int/uvectorFromListInt times
lower bound estimate upper bound
Mean execution time 4.265 ms 4.287 ms 4.314 ms
Standard deviation 99.56 μs 122.0 μs 147.5 μs

Outlying measurements have moderate (22.9%) effect on estimated standard deviation.

int/uvectorEnumFromToInt

630 μs
640
650
660
670
680
int/uvectorEnumFromToInt time densities
mean
630 μs
640
650
660
670
680
int/uvectorEnumFromToInt times
lower bound estimate upper bound
Mean execution time 636.8 μs 638.9 μs 641.7 μs
Standard deviation 10.06 μs 12.40 μs 15.38 μs

Outlying measurements have moderate (12.3%) effect on estimated standard deviation.

int/FoldL.FoldM

630 μs
640
650
660
670
680
690
int/FoldL.FoldM time densities
mean
630 μs
640
650
660
670
680
690
int/FoldL.FoldM times
lower bound estimate upper bound
Mean execution time 647.5 μs 650.6 μs 654.0 μs
Standard deviation 15.03 μs 16.74 μs 18.57 μs

Outlying measurements have moderate (20.0%) effect on estimated standard deviation.

w32/loop

940 μs
960
980
1000
1020
w32/loop time densities
mean
940 μs
960
980
1000
1020
w32/loop times
lower bound estimate upper bound
Mean execution time 958.6 μs 963.1 μs 968.5 μs
Standard deviation 21.86 μs 25.37 μs 28.93 μs

Outlying measurements have moderate (20.0%) effect on estimated standard deviation.

w32/unsafeLoop

940 μs
960
980
1000
1020
1040
w32/unsafeLoop time densities
mean
940 μs
960
980
1000
1020
1040
w32/unsafeLoop times
lower bound estimate upper bound
Mean execution time 978.6 μs 985.6 μs 992.9 μs
Standard deviation 34.81 μs 36.77 μs 38.94 μs

Outlying measurements have moderate (33.6%) effect on estimated standard deviation.

w32/numLoop

630 μs
640
650
660
670
w32/numLoop time densities
mean
630 μs
640
650
660
670
w32/numLoop times
lower bound estimate upper bound
Mean execution time 633.6 μs 635.5 μs 638.1 μs
Standard deviation 9.227 μs 11.39 μs 14.02 μs

Outlying measurements have moderate (10.4%) effect on estimated standard deviation.

w32/forLoop

620 μs
640
660
680
700
720
740
w32/forLoop time densities
mean
620 μs
640
660
680
700
720
740
w32/forLoop times
lower bound estimate upper bound
Mean execution time 636.3 μs 639.0 μs 643.3 μs
Standard deviation 12.49 μs 17.10 μs 26.93 μs

Outlying measurements have moderate (20.9%) effect on estimated standard deviation.

w32/loopLocal

940 μs
950
960
970
980
990
1000
1010
w32/loopLocal time densities
mean
940 μs
950
960
970
980
990
1000
1010
w32/loopLocal times
lower bound estimate upper bound
Mean execution time 951.2 μs 953.6 μs 956.7 μs
Standard deviation 11.54 μs 14.00 μs 18.20 μs

Outlying measurements have slight (7.5%) effect on estimated standard deviation.

w32/unsafeLoopLocal

940 μs
960
980
1000
1020
1040
w32/unsafeLoopLocal time densities
mean
940 μs
960
980
1000
1020
1040
w32/unsafeLoopLocal times
lower bound estimate upper bound
Mean execution time 963.8 μs 968.0 μs 973.0 μs
Standard deviation 20.34 μs 23.53 μs 27.36 μs

Outlying measurements have moderate (18.0%) effect on estimated standard deviation.

w32/loopMonad

0.95 ms
1.00
1.05
1.10
1.15
1.20
1.25
1.30
w32/loopMonad time densities
mean
0.95 ms
1.00
1.05
1.10
1.15
1.20
1.25
1.30
w32/loopMonad times
lower bound estimate upper bound
Mean execution time 1.004 ms 1.018 ms 1.035 ms
Standard deviation 68.97 μs 80.77 μs 96.78 μs

Outlying measurements have severe (70.7%) effect on estimated standard deviation.

w32/numLoopW32

630 μs
640
650
660
670
680
w32/numLoopW32 time densities
mean
630 μs
640
650
660
670
680
w32/numLoopW32 times
lower bound estimate upper bound
Mean execution time 637.9 μs 640.2 μs 642.9 μs
Standard deviation 10.88 μs 12.88 μs 15.45 μs

Outlying measurements have moderate (13.2%) effect on estimated standard deviation.

w32/numLoopEndW32

625 μs
630
635
640
645
650
655
660
665
670
w32/numLoopEndW32 time densities
mean
625 μs
630
635
640
645
650
655
660
665
670
w32/numLoopEndW32 times
lower bound estimate upper bound
Mean execution time 633.4 μs 634.9 μs 636.7 μs
Standard deviation 6.968 μs 8.402 μs 10.43 μs

Outlying measurements have slight (6.6%) effect on estimated standard deviation.

w32/listForM_W32

4.80 ms
4.90
5.00
5.10
5.20
5.30
w32/listForM_W32 time densities
mean
4.80 ms
4.90
5.00
5.10
5.20
5.30
w32/listForM_W32 times
lower bound estimate upper bound
Mean execution time 5.048 ms 5.063 ms 5.079 ms
Standard deviation 66.10 μs 78.66 μs 96.43 μs

Outlying measurements have slight (8.5%) effect on estimated standard deviation.

w32/vectorFromListW32

4.9 ms
5.0
5.1
5.2
5.3
5.4
5.5
5.6
w32/vectorFromListW32 time densities
mean
4.9 ms
5.0
5.1
5.2
5.3
5.4
5.5
5.6
w32/vectorFromListW32 times
lower bound estimate upper bound
Mean execution time 5.073 ms 5.093 ms 5.118 ms
Standard deviation 91.37 μs 114.0 μs 144.1 μs

Outlying measurements have moderate (16.1%) effect on estimated standard deviation.

w32/vectorEnumFromToW32

620 μs
640
660
680
700
720
w32/vectorEnumFromToW32 time densities
mean
620 μs
640
660
680
700
720
w32/vectorEnumFromToW32 times
lower bound estimate upper bound
Mean execution time 642.3 μs 645.3 μs 649.2 μs
Standard deviation 14.20 μs 17.45 μs 22.83 μs

Outlying measurements have moderate (21.0%) effect on estimated standard deviation.

w32/uvectorFromListW32

4.8 ms
4.9
5.0
5.1
5.2
5.3
5.4
w32/uvectorFromListW32 time densities
mean
4.8 ms
4.9
5.0
5.1
5.2
5.3
5.4
w32/uvectorFromListW32 times
lower bound estimate upper bound
Mean execution time 5.055 ms 5.070 ms 5.086 ms
Standard deviation 64.90 μs 80.16 μs 102.8 μs

Outlying measurements have slight (8.5%) effect on estimated standard deviation.

w32/uvectorEnumFromToW32

620 μs
640
660
680
700
720
w32/uvectorEnumFromToW32 time densities
mean
620 μs
640
660
680
700
720
w32/uvectorEnumFromToW32 times
lower bound estimate upper bound
Mean execution time 633.7 μs 635.7 μs 639.2 μs
Standard deviation 8.991 μs 13.36 μs 21.80 μs

Outlying measurements have moderate (14.2%) effect on estimated standard deviation.

w32/FoldL.FoldM

4.8 ms
4.9
5.0
5.1
5.2
5.3
5.4
5.5
w32/FoldL.FoldM time densities
mean
4.8 ms
4.9
5.0
5.1
5.2
5.3
5.4
5.5
w32/FoldL.FoldM times
lower bound estimate upper bound
Mean execution time 5.032 ms 5.053 ms 5.081 ms
Standard deviation 98.81 μs 124.4 μs 156.7 μs

Outlying measurements have moderate (18.1%) effect on estimated standard deviation.

inc/+1

10.2 ns
10.4
10.6
10.8
11.0
inc/+1 time densities
mean
10.2 ns
10.4
10.6
10.8
11.0
inc/+1 times
lower bound estimate upper bound
Mean execution time 10.24 ns 10.27 ns 10.31 ns
Standard deviation 127.9 ps 159.9 ps 222.7 ps

Outlying measurements have slight (8.5%) effect on estimated standard deviation.

inc/succ

10.2 ns
10.3
10.4
10.5
10.6
10.7
10.8
10.9
inc/succ time densities
mean
10.2 ns
10.3
10.4
10.5
10.6
10.7
10.8
10.9
inc/succ times
lower bound estimate upper bound
Mean execution time 10.34 ns 10.37 ns 10.40 ns
Standard deviation 122.5 ps 145.9 ps 176.7 ps

Outlying measurements have slight (6.6%) effect on estimated standard deviation.

understanding this report

In this report, each function benchmarked by criterion is assigned a section of its own. In each section, we display two charts, each with an x axis that represents measured execution time. These charts are active; if you hover your mouse over data points and annotations, you will see more details.

Under the charts is a small table displaying the mean and standard deviation of the measurements. We use a statistical technique called the bootstrap to provide confidence intervals on our estimates of these values. The bootstrap-derived upper and lower bounds on the mean and standard deviation let you see how accurate we believe those estimates to be. (Hover the mouse over the table headers to see the confidence levels.)

A noisy benchmarking environment can cause some or many measurements to fall far from the mean. These outlying measurements can have a significant inflationary effect on the estimate of the standard deviation. We calculate and display an estimate of the extent to which the standard deviation has been inflated by outliers.