From a87f3afe0e70e32a9bb595026695e1143b76ffcc Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Sun, 6 Oct 2019 23:59:07 +0100 Subject: [PATCH] Updated benchmarks --- bench/report-O0.md | 261 ++++++++++++++++++++++-------------------- bench/report-O1.md | 265 +++++++++++++++++++++++-------------------- bench/report-O2.md | 271 ++++++++++++++++++++++++-------------------- free-category.cabal | 6 +- 4 files changed, 435 insertions(+), 368 deletions(-) diff --git a/bench/report-O0.md b/bench/report-O0.md index c0d9fe0..54d8739 100644 --- a/bench/report-O0.md +++ b/bench/report-O0.md @@ -1,142 +1,159 @@ ``` -cabal run -O0 bench-cats -benchmarking main/Cat/right right -time 2.568 ms (2.498 ms .. 2.641 ms) - 0.995 R² (0.990 R² .. 0.997 R²) -mean 2.541 ms (2.503 ms .. 2.586 ms) -std dev 138.7 μs (109.0 μs .. 205.2 μs) -variance introduced by outliers: 38% (moderately inflated) +cabal run -O0 bench-cats +benchmarking main/Cat 100/right right +time 2.311 ms (2.243 ms .. 2.442 ms) + 0.953 R² (0.875 R² .. 0.999 R²) +mean 2.300 ms (2.241 ms .. 2.496 ms) +std dev 310.7 μs (47.01 μs .. 629.1 μs) +variance introduced by outliers: 79% (severely inflated) -benchmarking main/Cat/right left -time 3.660 ms (3.528 ms .. 3.775 ms) - 0.995 R² (0.993 R² .. 0.999 R²) -mean 3.587 ms (3.553 ms .. 3.628 ms) -std dev 115.2 μs (86.37 μs .. 159.1 μs) -variance introduced by outliers: 16% (moderately inflated) +benchmarking main/Cat 100/right left +time 3.525 ms (3.291 ms .. 3.908 ms) + 0.930 R² (0.839 R² .. 0.999 R²) +mean 3.693 ms (3.503 ms .. 4.401 ms) +std dev 982.7 μs (162.3 μs .. 1.995 ms) +variance introduced by outliers: 93% (severely inflated) -benchmarking main/Cat/left left -time 3.711 ms (3.648 ms .. 3.779 ms) - 0.996 R² (0.994 R² .. 0.998 R²) -mean 3.780 ms (3.715 ms .. 3.855 ms) -std dev 227.0 μs (167.3 μs .. 377.7 μs) -variance introduced by outliers: 38% (moderately inflated) +benchmarking main/Cat 100/left left +time 3.454 ms (3.439 ms .. 3.470 ms) + 1.000 R² (0.999 R² .. 1.000 R²) +mean 3.422 ms (3.401 ms .. 3.439 ms) +std dev 60.69 μs (42.00 μs .. 89.06 μs) -benchmarking main/Cat/left right -time 3.603 ms (3.562 ms .. 3.651 ms) - 0.998 R² (0.996 R² .. 0.999 R²) -mean 3.643 ms (3.606 ms .. 3.689 ms) -std dev 141.1 μs (109.3 μs .. 185.6 μs) -variance introduced by outliers: 21% (moderately inflated) +benchmarking main/Cat 100/left right +time 3.397 ms (3.376 ms .. 3.415 ms) + 1.000 R² (0.999 R² .. 1.000 R²) +mean 3.370 ms (3.355 ms .. 3.384 ms) +std dev 48.28 μs (38.10 μs .. 63.13 μs) -benchmarking main/Cat/alternate -time 2.893 ms (2.812 ms .. 2.981 ms) - 0.993 R² (0.989 R² .. 0.996 R²) -mean 2.914 ms (2.866 ms .. 2.979 ms) -std dev 183.2 μs (136.0 μs .. 273.8 μs) -variance introduced by outliers: 42% (moderately inflated) - -benchmarking main/Queue/right right -time 1.260 ms (1.237 ms .. 1.277 ms) - 0.998 R² (0.998 R² .. 0.999 R²) -mean 1.257 ms (1.246 ms .. 1.272 ms) -std dev 43.07 μs (32.11 μs .. 62.56 μs) -variance introduced by outliers: 23% (moderately inflated) - -benchmarking main/Queue/right left -time 1.250 ms (1.237 ms .. 1.260 ms) - 0.999 R² (0.997 R² .. 1.000 R²) -mean 1.275 ms (1.261 ms .. 1.301 ms) -std dev 62.84 μs (42.45 μs .. 93.51 μs) -variance introduced by outliers: 38% (moderately inflated) - -benchmarking main/Queue/left left -time 1.273 ms (1.252 ms .. 1.289 ms) - 0.999 R² (0.998 R² .. 0.999 R²) -mean 1.240 ms (1.231 ms .. 1.251 ms) -std dev 32.58 μs (26.50 μs .. 42.39 μs) +benchmarking main/Cat 100/alternate +time 2.649 ms (2.600 ms .. 2.713 ms) + 0.998 R² (0.997 R² .. 0.999 R²) +mean 2.715 ms (2.692 ms .. 2.737 ms) +std dev 76.81 μs (63.80 μs .. 95.94 μs) variance introduced by outliers: 14% (moderately inflated) -benchmarking main/Queue/left right -time 1.255 ms (1.243 ms .. 1.267 ms) - 0.999 R² (0.998 R² .. 0.999 R²) -mean 1.242 ms (1.231 ms .. 1.256 ms) -std dev 41.50 μs (31.77 μs .. 52.84 μs) -variance introduced by outliers: 22% (moderately inflated) +benchmarking main/Queue 100/right right +time 1.141 ms (1.138 ms .. 1.143 ms) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 1.140 ms (1.138 ms .. 1.143 ms) +std dev 8.646 μs (6.948 μs .. 11.22 μs) -benchmarking main/Queue/alternate -time 1.286 ms (1.246 ms .. 1.343 ms) - 0.994 R² (0.989 R² .. 0.999 R²) -mean 1.256 ms (1.243 ms .. 1.275 ms) -std dev 52.21 μs (35.03 μs .. 86.99 μs) -variance introduced by outliers: 30% (moderately inflated) +benchmarking main/Queue 100/right left +time 1.141 ms (1.136 ms .. 1.147 ms) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 1.138 ms (1.135 ms .. 1.142 ms) +std dev 10.92 μs (8.393 μs .. 15.79 μs) -benchmarking main/ListTr/right right -time 800.8 μs (782.0 μs .. 823.7 μs) - 0.995 R² (0.991 R² .. 0.998 R²) -mean 812.7 μs (802.9 μs .. 825.7 μs) -std dev 38.06 μs (27.65 μs .. 54.52 μs) -variance introduced by outliers: 38% (moderately inflated) +benchmarking main/Queue 100/left left +time 1.142 ms (1.139 ms .. 1.146 ms) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 1.142 ms (1.138 ms .. 1.147 ms) +std dev 14.64 μs (11.59 μs .. 19.91 μs) -benchmarking main/ListTr/right left -time 773.4 μs (769.0 μs .. 780.1 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 775.4 μs (769.8 μs .. 783.1 μs) -std dev 22.93 μs (16.51 μs .. 34.17 μs) -variance introduced by outliers: 20% (moderately inflated) +benchmarking main/Queue 100/left right +time 1.141 ms (1.136 ms .. 1.147 ms) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 1.141 ms (1.137 ms .. 1.148 ms) +std dev 16.67 μs (9.879 μs .. 29.72 μs) -benchmarking main/ListTr/left left -time 778.0 μs (768.5 μs .. 786.4 μs) - 0.998 R² (0.994 R² .. 0.999 R²) -mean 791.7 μs (772.1 μs .. 878.3 μs) -std dev 117.7 μs (19.43 μs .. 266.4 μs) -variance introduced by outliers: 87% (severely inflated) +benchmarking main/Queue 100/alternate +time 1.164 ms (1.153 ms .. 1.185 ms) + 0.983 R² (0.951 R² .. 0.999 R²) +mean 1.188 ms (1.159 ms .. 1.290 ms) +std dev 158.9 μs (71.22 μs .. 324.6 μs) +variance introduced by outliers: 83% (severely inflated) -benchmarking main/ListTr/left right -time 785.7 μs (772.9 μs .. 800.5 μs) +benchmarking main/ListTr 100/right right +time 700.0 μs (691.4 μs .. 706.7 μs) 0.997 R² (0.993 R² .. 0.999 R²) -mean 778.5 μs (770.0 μs .. 792.1 μs) -std dev 36.55 μs (25.62 μs .. 51.10 μs) -variance introduced by outliers: 38% (moderately inflated) +mean 756.8 μs (718.7 μs .. 906.9 μs) +std dev 245.7 μs (9.661 μs .. 523.4 μs) +variance introduced by outliers: 97% (severely inflated) -benchmarking main/ListTr/alternate -time 778.9 μs (770.4 μs .. 786.6 μs) - 0.996 R² (0.990 R² .. 0.999 R²) -mean 782.0 μs (771.5 μs .. 808.8 μs) -std dev 51.49 μs (20.02 μs .. 96.60 μs) -variance introduced by outliers: 54% (severely inflated) +benchmarking main/ListTr 100/right left +time 756.6 μs (717.7 μs .. 812.2 μs) + 0.980 R² (0.959 R² .. 1.000 R²) +mean 719.7 μs (710.8 μs .. 755.0 μs) +std dev 48.82 μs (9.722 μs .. 100.7 μs) +variance introduced by outliers: 57% (severely inflated) -benchmarking main/C/right right -time 949.8 μs (915.4 μs .. 995.7 μs) - 0.989 R² (0.984 R² .. 0.995 R²) -mean 952.7 μs (934.5 μs .. 981.1 μs) -std dev 71.30 μs (53.14 μs .. 109.1 μs) -variance introduced by outliers: 61% (severely inflated) +benchmarking main/ListTr 100/left left +time 767.3 μs (723.7 μs .. 813.2 μs) + 0.983 R² (0.968 R² .. 1.000 R²) +mean 733.7 μs (723.2 μs .. 762.2 μs) +std dev 51.61 μs (22.86 μs .. 96.08 μs) +variance introduced by outliers: 59% (severely inflated) -benchmarking main/C/right left -time 949.7 μs (922.3 μs .. 988.8 μs) - 0.993 R² (0.987 R² .. 0.998 R²) -mean 937.1 μs (925.7 μs .. 956.9 μs) -std dev 52.58 μs (36.13 μs .. 75.02 μs) -variance introduced by outliers: 46% (moderately inflated) +benchmarking main/ListTr 100/left right +time 717.4 μs (715.5 μs .. 719.9 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 718.1 μs (716.1 μs .. 721.1 μs) +std dev 7.838 μs (5.645 μs .. 12.14 μs) -benchmarking main/C/left left -time 1.208 ms (1.181 ms .. 1.230 ms) - 0.996 R² (0.995 R² .. 0.998 R²) -mean 1.205 ms (1.192 ms .. 1.223 ms) -std dev 53.93 μs (43.99 μs .. 72.16 μs) -variance introduced by outliers: 33% (moderately inflated) +benchmarking main/ListTr 100/alternate +time 715.4 μs (712.1 μs .. 720.6 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 715.6 μs (713.4 μs .. 719.0 μs) +std dev 8.725 μs (6.633 μs .. 11.88 μs) -benchmarking main/C/left right -time 973.2 μs (951.1 μs .. 996.9 μs) - 0.996 R² (0.993 R² .. 0.998 R²) -mean 947.8 μs (933.1 μs .. 967.3 μs) -std dev 55.03 μs (45.51 μs .. 68.47 μs) -variance introduced by outliers: 48% (moderately inflated) +benchmarking main/C 100/right right +time 899.4 μs (894.7 μs .. 905.2 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 902.1 μs (898.5 μs .. 906.9 μs) +std dev 13.97 μs (10.79 μs .. 19.73 μs) -benchmarking main/C/alternate -time 1.207 ms (1.187 ms .. 1.234 ms) - 0.996 R² (0.993 R² .. 0.998 R²) -mean 1.239 ms (1.224 ms .. 1.256 ms) -std dev 57.62 μs (48.24 μs .. 71.42 μs) -variance introduced by outliers: 35% (moderately inflated) +benchmarking main/C 100/right left +time 903.2 μs (895.5 μs .. 911.5 μs) + 0.999 R² (0.999 R² .. 1.000 R²) +mean 900.8 μs (896.2 μs .. 909.6 μs) +std dev 20.72 μs (14.03 μs .. 33.73 μs) +variance introduced by outliers: 13% (moderately inflated) + +benchmarking main/C 100/left left +time 1.213 ms (1.199 ms .. 1.241 ms) + 0.982 R² (0.955 R² .. 0.999 R²) +mean 1.236 ms (1.204 ms .. 1.320 ms) +std dev 159.4 μs (51.06 μs .. 269.7 μs) +variance introduced by outliers: 81% (severely inflated) + +benchmarking main/C 100/left right +time 898.3 μs (854.1 μs .. 969.1 μs) + 0.970 R² (0.951 R² .. 0.992 R²) +mean 925.6 μs (903.9 μs .. 959.2 μs) +std dev 89.03 μs (60.65 μs .. 138.8 μs) +variance introduced by outliers: 72% (severely inflated) + +benchmarking main/C 100/alternate +time 1.075 ms (1.063 ms .. 1.093 ms) + 0.996 R² (0.992 R² .. 0.999 R²) +mean 1.085 ms (1.071 ms .. 1.109 ms) +std dev 58.94 μs (35.22 μs .. 85.70 μs) +variance introduced by outliers: 43% (moderately inflated) + +benchmarking main/Queue 250/right right +time 8.210 ms (8.158 ms .. 8.283 ms) + 1.000 R² (0.999 R² .. 1.000 R²) +mean 8.104 ms (8.050 ms .. 8.148 ms) +std dev 141.8 μs (100.5 μs .. 213.6 μs) + +benchmarking main/ListTr 250/right right +time 6.835 ms (6.677 ms .. 7.059 ms) + 0.997 R² (0.994 R² .. 1.000 R²) +mean 6.631 ms (6.592 ms .. 6.697 ms) +std dev 151.1 μs (73.51 μs .. 274.0 μs) + +benchmarking main/Queue 500/right right +time 33.14 ms (32.12 ms .. 34.38 ms) + 0.995 R² (0.984 R² .. 0.999 R²) +mean 33.84 ms (33.06 ms .. 34.85 ms) +std dev 1.819 ms (1.173 ms .. 2.736 ms) +variance introduced by outliers: 18% (moderately inflated) + +benchmarking main/ListTr 500/right right +time 28.88 ms (27.92 ms .. 30.42 ms) + 0.983 R² (0.944 R² .. 0.999 R²) +mean 29.04 ms (28.51 ms .. 30.34 ms) +std dev 1.758 ms (608.9 μs .. 3.384 ms) +variance introduced by outliers: 21% (moderately inflated) ``` diff --git a/bench/report-O1.md b/bench/report-O1.md index 82b256d..08994a5 100644 --- a/bench/report-O1.md +++ b/bench/report-O1.md @@ -1,139 +1,164 @@ ``` -cabal run -O1 bench-cats -benchmarking main/Cat/right right -time 354.9 μs (353.0 μs .. 356.5 μs) - 1.000 R² (0.999 R² .. 1.000 R²) -mean 357.5 μs (354.7 μs .. 362.6 μs) -std dev 12.79 μs (6.005 μs .. 20.61 μs) -variance introduced by outliers: 31% (moderately inflated) +cabal run -O1 bench-cats +benchmarking main/Cat 100/right right +time 383.4 μs (370.0 μs .. 412.2 μs) + 0.928 R² (0.846 R² .. 0.996 R²) +mean 408.5 μs (381.2 μs .. 466.5 μs) +std dev 131.4 μs (59.97 μs .. 250.7 μs) +variance introduced by outliers: 98% (severely inflated) -benchmarking main/Cat/right left -time 632.7 μs (623.4 μs .. 641.3 μs) - 0.999 R² (0.998 R² .. 0.999 R²) -mean 628.1 μs (623.8 μs .. 632.6 μs) -std dev 15.18 μs (12.69 μs .. 18.40 μs) -variance introduced by outliers: 15% (moderately inflated) - -benchmarking main/Cat/left left -time 630.7 μs (625.5 μs .. 637.9 μs) - 0.999 R² (0.998 R² .. 1.000 R²) -mean 633.8 μs (630.1 μs .. 638.2 μs) -std dev 14.06 μs (11.70 μs .. 16.97 μs) -variance introduced by outliers: 13% (moderately inflated) - -benchmarking main/Cat/left right -time 624.7 μs (615.3 μs .. 631.6 μs) - 0.999 R² (0.998 R² .. 0.999 R²) -mean 626.0 μs (620.8 μs .. 631.4 μs) -std dev 17.14 μs (14.44 μs .. 20.91 μs) -variance introduced by outliers: 18% (moderately inflated) - -benchmarking main/Cat/alternate -time 546.8 μs (540.7 μs .. 554.8 μs) - 0.999 R² (0.997 R² .. 0.999 R²) -mean 535.7 μs (529.1 μs .. 543.0 μs) -std dev 22.14 μs (16.93 μs .. 34.04 μs) +benchmarking main/Cat 100/right left +time 665.2 μs (647.0 μs .. 681.1 μs) + 0.996 R² (0.994 R² .. 0.997 R²) +mean 651.8 μs (643.7 μs .. 660.0 μs) +std dev 27.99 μs (23.84 μs .. 32.75 μs) variance introduced by outliers: 35% (moderately inflated) -benchmarking main/Queue/right right -time 337.8 μs (336.2 μs .. 339.5 μs) - 1.000 R² (0.999 R² .. 1.000 R²) -mean 337.8 μs (336.0 μs .. 341.4 μs) -std dev 8.226 μs (4.189 μs .. 16.39 μs) -variance introduced by outliers: 17% (moderately inflated) +benchmarking main/Cat 100/left left +time 682.9 μs (671.9 μs .. 692.8 μs) + 0.997 R² (0.995 R² .. 0.998 R²) +mean 694.2 μs (683.5 μs .. 713.7 μs) +std dev 46.27 μs (26.75 μs .. 75.32 μs) +variance introduced by outliers: 56% (severely inflated) -benchmarking main/Queue/right left -time 341.1 μs (338.9 μs .. 344.1 μs) - 0.999 R² (0.998 R² .. 1.000 R²) -mean 340.4 μs (339.0 μs .. 343.7 μs) -std dev 7.103 μs (4.242 μs .. 12.45 μs) -variance introduced by outliers: 13% (moderately inflated) +benchmarking main/Cat 100/left right +time 682.0 μs (664.8 μs .. 698.9 μs) + 0.997 R² (0.995 R² .. 0.998 R²) +mean 673.7 μs (666.1 μs .. 682.2 μs) +std dev 28.44 μs (24.53 μs .. 33.41 μs) +variance introduced by outliers: 34% (moderately inflated) -benchmarking main/Queue/left left -time 340.4 μs (337.0 μs .. 344.6 μs) +benchmarking main/Cat 100/alternate +ktime 582.0 μs (576.1 μs .. 587.5 μs) + 0.997 R² (0.995 R² .. 0.999 R²) +mean 581.2 μs (573.0 μs .. 597.4 μs) +std dev 37.40 μs (21.44 μs .. 68.12 μs) +variance introduced by outliers: 56% (severely inflated) + +benchmarking main/Queue 100/right right +time 344.2 μs (337.1 μs .. 362.0 μs) + 0.974 R² (0.923 R² .. 1.000 R²) +mean 346.8 μs (338.8 μs .. 375.4 μs) +std dev 47.04 μs (4.662 μs .. 98.23 μs) +variance introduced by outliers: 87% (severely inflated) + +benchmarking main/Queue 100/right left +time 334.1 μs (333.3 μs .. 334.7 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 333.7 μs (333.1 μs .. 334.3 μs) +std dev 2.083 μs (1.686 μs .. 2.609 μs) + +benchmarking main/Queue 100/left left +time 336.6 μs (334.3 μs .. 340.4 μs) + 0.997 R² (0.991 R² .. 1.000 R²) +mean 339.0 μs (335.2 μs .. 353.2 μs) +std dev 20.23 μs (6.119 μs .. 45.16 μs) +variance introduced by outliers: 55% (severely inflated) + +benchmarking main/Queue 100/left right +time 334.4 μs (333.9 μs .. 335.0 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 334.3 μs (333.6 μs .. 335.3 μs) +std dev 2.840 μs (2.002 μs .. 4.592 μs) + +benchmarking main/Queue 100/alternate +time 333.4 μs (332.9 μs .. 334.1 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 334.1 μs (333.5 μs .. 334.7 μs) +std dev 1.989 μs (1.597 μs .. 2.655 μs) + +benchmarking main/ListTr 100/right right +time 168.0 μs (167.7 μs .. 168.3 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 168.4 μs (168.1 μs .. 168.9 μs) +std dev 1.328 μs (905.4 ns .. 2.041 μs) + +benchmarking main/ListTr 100/right left +time 176.4 μs (173.7 μs .. 180.5 μs) + 0.985 R² (0.966 R² .. 0.999 R²) +mean 180.4 μs (174.5 μs .. 191.0 μs) +std dev 26.56 μs (11.94 μs .. 40.58 μs) +variance introduced by outliers: 90% (severely inflated) + +benchmarking main/ListTr 100/left left +time 181.4 μs (171.8 μs .. 200.9 μs) + 0.965 R² (0.926 R² .. 1.000 R²) +mean 174.4 μs (171.5 μs .. 188.0 μs) +std dev 17.44 μs (1.898 μs .. 39.71 μs) +variance introduced by outliers: 80% (severely inflated) + +benchmarking main/ListTr 100/left right +time 171.7 μs (170.3 μs .. 173.4 μs) + 0.999 R² (0.999 R² .. 0.999 R²) +mean 175.3 μs (173.9 μs .. 177.5 μs) +std dev 5.737 μs (3.819 μs .. 10.35 μs) +variance introduced by outliers: 30% (moderately inflated) + +benchmarking main/ListTr 100/alternate +time 172.2 μs (169.5 μs .. 174.3 μs) 0.999 R² (0.999 R² .. 1.000 R²) -mean 338.5 μs (336.9 μs .. 340.8 μs) -std dev 6.362 μs (4.628 μs .. 9.175 μs) -variance introduced by outliers: 11% (moderately inflated) +mean 170.3 μs (169.6 μs .. 171.4 μs) +std dev 2.847 μs (2.192 μs .. 3.745 μs) -benchmarking main/Queue/left right -time 342.2 μs (337.0 μs .. 351.4 μs) - 0.995 R² (0.989 R² .. 1.000 R²) -mean 341.2 μs (337.0 μs .. 349.7 μs) -std dev 19.19 μs (10.13 μs .. 31.45 μs) -variance introduced by outliers: 52% (severely inflated) - -benchmarking main/Queue/alternate -time 338.6 μs (336.6 μs .. 341.5 μs) - 0.999 R² (0.997 R² .. 1.000 R²) -mean 337.3 μs (335.3 μs .. 341.6 μs) -std dev 9.044 μs (4.670 μs .. 19.46 μs) +benchmarking main/C 100/right right +time 741.9 μs (720.1 μs .. 769.8 μs) + 0.996 R² (0.993 R² .. 0.999 R²) +mean 738.5 μs (733.4 μs .. 746.4 μs) +std dev 21.90 μs (14.74 μs .. 36.25 μs) variance introduced by outliers: 20% (moderately inflated) -benchmarking main/ListTr/right right -time 619.4 μs (611.0 μs .. 629.1 μs) - 0.998 R² (0.996 R² .. 0.999 R²) -mean 613.7 μs (607.3 μs .. 621.7 μs) -std dev 24.35 μs (17.22 μs .. 35.84 μs) -variance introduced by outliers: 32% (moderately inflated) +benchmarking main/C 100/right left +time 671.2 μs (655.1 μs .. 693.1 μs) + 0.974 R² (0.924 R² .. 0.999 R²) +mean 681.5 μs (658.5 μs .. 777.3 μs) +std dev 127.4 μs (26.16 μs .. 280.5 μs) +variance introduced by outliers: 92% (severely inflated) -benchmarking main/ListTr/right left -time 618.4 μs (610.7 μs .. 626.5 μs) - 0.999 R² (0.997 R² .. 1.000 R²) -mean 608.5 μs (604.6 μs .. 614.2 μs) -std dev 16.13 μs (11.83 μs .. 27.07 μs) -variance introduced by outliers: 18% (moderately inflated) +benchmarking main/C 100/left left +time 802.2 μs (784.7 μs .. 824.5 μs) + 0.996 R² (0.996 R² .. 0.998 R²) +mean 795.6 μs (787.1 μs .. 805.5 μs) +std dev 30.72 μs (26.91 μs .. 35.57 μs) +variance introduced by outliers: 29% (moderately inflated) -benchmarking main/ListTr/left left -time 606.6 μs (603.3 μs .. 611.5 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 614.5 μs (611.6 μs .. 618.0 μs) -std dev 10.79 μs (8.979 μs .. 13.64 μs) - -benchmarking main/ListTr/left right -time 611.6 μs (606.8 μs .. 616.9 μs) - 1.000 R² (0.999 R² .. 1.000 R²) -mean 615.7 μs (613.0 μs .. 619.7 μs) -std dev 10.50 μs (7.937 μs .. 15.47 μs) - -benchmarking main/ListTr/alternate -time 618.0 μs (607.9 μs .. 630.6 μs) - 0.999 R² (0.997 R² .. 1.000 R²) -mean 613.5 μs (610.3 μs .. 617.8 μs) -std dev 12.60 μs (9.273 μs .. 19.12 μs) -variance introduced by outliers: 12% (moderately inflated) - -benchmarking main/C/right right -time 718.7 μs (707.1 μs .. 730.6 μs) +benchmarking main/C 100/left right +time 657.8 μs (650.4 μs .. 668.8 μs) 0.998 R² (0.997 R² .. 0.999 R²) -mean 704.9 μs (699.3 μs .. 712.6 μs) -std dev 21.50 μs (14.43 μs .. 28.80 μs) -variance introduced by outliers: 21% (moderately inflated) +mean 656.8 μs (649.6 μs .. 665.1 μs) +std dev 26.63 μs (20.92 μs .. 35.68 μs) +variance introduced by outliers: 33% (moderately inflated) -benchmarking main/C/right left -time 626.2 μs (621.0 μs .. 630.1 μs) - 1.000 R² (1.000 R² .. 1.000 R²) -mean 624.6 μs (621.7 μs .. 627.2 μs) -std dev 9.159 μs (7.975 μs .. 10.69 μs) +benchmarking main/C 100/alternate +time 1.065 ms (1.053 ms .. 1.082 ms) + 0.997 R² (0.994 R² .. 0.999 R²) +mean 1.074 ms (1.061 ms .. 1.093 ms) +std dev 53.90 μs (39.80 μs .. 70.25 μs) +variance introduced by outliers: 39% (moderately inflated) -benchmarking main/C/left left -time 717.7 μs (709.6 μs .. 729.2 μs) - 0.999 R² (0.998 R² .. 1.000 R²) -mean 723.6 μs (718.5 μs .. 732.4 μs) -std dev 22.18 μs (13.44 μs .. 38.51 μs) -variance introduced by outliers: 21% (moderately inflated) +benchmarking main/Queue 250/right right +time 3.203 ms (2.938 ms .. 3.591 ms) + 0.966 R² (0.942 R² .. 0.998 R²) +mean 2.963 ms (2.915 ms .. 3.067 ms) +std dev 226.0 μs (94.89 μs .. 422.7 μs) +variance introduced by outliers: 52% (severely inflated) -benchmarking main/C/left right -time 631.5 μs (624.4 μs .. 641.3 μs) - 0.998 R² (0.997 R² .. 1.000 R²) -mean 629.2 μs (621.7 μs .. 638.3 μs) -std dev 26.65 μs (17.77 μs .. 37.22 μs) -variance introduced by outliers: 35% (moderately inflated) +benchmarking main/ListTr 250/right right +time 3.265 ms (3.231 ms .. 3.295 ms) + 0.999 R² (0.999 R² .. 1.000 R²) +mean 3.261 ms (3.239 ms .. 3.284 ms) +std dev 71.15 μs (57.97 μs .. 86.47 μs) -benchmarking main/C/alternate -time 997.7 μs (984.5 μs .. 1.010 ms) - 0.999 R² (0.998 R² .. 0.999 R²) -mean 995.6 μs (989.0 μs .. 1.006 ms) -std dev 27.57 μs (22.48 μs .. 34.18 μs) +benchmarking main/Queue 500/right right +time 11.72 ms (11.47 ms .. 11.94 ms) + 0.997 R² (0.996 R² .. 0.999 R²) +mean 11.95 ms (11.79 ms .. 12.20 ms) +std dev 521.0 μs (333.3 μs .. 799.6 μs) variance introduced by outliers: 17% (moderately inflated) + +benchmarking main/ListTr 500/right right +time 17.55 ms (15.86 ms .. 18.15 ms) + 0.956 R² (0.839 R² .. 0.999 R²) +mean 18.91 ms (18.14 ms .. 22.44 ms) +std dev 3.166 ms (347.5 μs .. 6.963 ms) +variance introduced by outliers: 71% (severely inflated) ``` diff --git a/bench/report-O2.md b/bench/report-O2.md index fb1415f..740883a 100644 --- a/bench/report-O2.md +++ b/bench/report-O2.md @@ -1,135 +1,160 @@ ``` -cabal run -O2 bench-cats -benchmarking main/Cat/right right -time 417.7 μs (415.7 μs .. 419.7 μs) +cabal run -O2 bench-cats +benchmarking main/Cat 100/right right +time 387.7 μs (382.0 μs .. 396.1 μs) + 0.997 R² (0.992 R² .. 1.000 R²) +mean 382.3 μs (378.8 μs .. 389.3 μs) +std dev 15.61 μs (9.528 μs .. 27.64 μs) +variance introduced by outliers: 35% (moderately inflated) + +benchmarking main/Cat 100/right left +time 1.902 ms (1.885 ms .. 1.919 ms) + 0.999 R² (0.999 R² .. 1.000 R²) +mean 1.926 ms (1.911 ms .. 1.943 ms) +std dev 55.12 μs (41.26 μs .. 90.08 μs) +variance introduced by outliers: 15% (moderately inflated) + +benchmarking main/Cat 100/left left +time 1.941 ms (1.924 ms .. 1.958 ms) + 0.999 R² (0.999 R² .. 1.000 R²) +mean 1.937 ms (1.929 ms .. 1.947 ms) +std dev 30.60 μs (23.82 μs .. 41.19 μs) + +benchmarking main/Cat 100/left right +time 1.946 ms (1.895 ms .. 2.034 ms) + 0.994 R² (0.988 R² .. 0.999 R²) +mean 1.982 ms (1.957 ms .. 2.009 ms) +std dev 86.70 μs (66.65 μs .. 112.2 μs) +variance introduced by outliers: 30% (moderately inflated) + +benchmarking main/Cat 100/alternate +time 1.700 ms (1.605 ms .. 1.902 ms) + 0.954 R² (0.904 R² .. 1.000 R²) +mean 1.641 ms (1.614 ms .. 1.740 ms) +std dev 159.2 μs (28.75 μs .. 334.0 μs) +variance introduced by outliers: 69% (severely inflated) + +benchmarking main/Queue 100/right right +time 341.9 μs (341.2 μs .. 342.8 μs) 1.000 R² (1.000 R² .. 1.000 R²) -mean 418.3 μs (416.6 μs .. 420.0 μs) -std dev 5.762 μs (4.583 μs .. 7.364 μs) +mean 340.9 μs (340.0 μs .. 341.9 μs) +std dev 3.115 μs (2.201 μs .. 4.603 μs) -benchmarking main/Cat/right left -time 1.968 ms (1.953 ms .. 1.990 ms) - 0.998 R² (0.998 R² .. 0.999 R²) -mean 1.977 ms (1.959 ms .. 2.000 ms) -std dev 68.00 μs (53.52 μs .. 84.49 μs) -variance introduced by outliers: 20% (moderately inflated) - -benchmarking main/Cat/left left -time 1.958 ms (1.942 ms .. 1.975 ms) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 1.969 ms (1.959 ms .. 1.983 ms) -std dev 41.30 μs (31.26 μs .. 57.77 μs) - -benchmarking main/Cat/left right -time 1.958 ms (1.934 ms .. 1.982 ms) - 0.999 R² (0.998 R² .. 1.000 R²) -mean 1.953 ms (1.943 ms .. 1.962 ms) -std dev 31.57 μs (24.84 μs .. 42.80 μs) - -benchmarking main/Cat/alternate -time 1.655 ms (1.641 ms .. 1.670 ms) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 1.648 ms (1.638 ms .. 1.656 ms) -std dev 30.06 μs (24.24 μs .. 37.57 μs) - -benchmarking main/Queue/right right -time 359.4 μs (357.7 μs .. 361.4 μs) +benchmarking main/Queue 100/right left +time 342.2 μs (341.6 μs .. 342.8 μs) 1.000 R² (1.000 R² .. 1.000 R²) -mean 361.4 μs (360.2 μs .. 363.5 μs) -std dev 5.338 μs (3.727 μs .. 9.423 μs) +mean 341.5 μs (340.9 μs .. 342.2 μs) +std dev 2.108 μs (1.700 μs .. 2.556 μs) -benchmarking main/Queue/right left -time 359.6 μs (357.8 μs .. 361.7 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 359.4 μs (357.1 μs .. 363.2 μs) -std dev 9.314 μs (6.026 μs .. 16.40 μs) -variance introduced by outliers: 19% (moderately inflated) - -benchmarking main/Queue/left left -time 364.9 μs (361.2 μs .. 368.5 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 362.4 μs (359.7 μs .. 366.1 μs) -std dev 10.49 μs (8.487 μs .. 14.03 μs) -variance introduced by outliers: 22% (moderately inflated) - -benchmarking main/Queue/left right -time 364.9 μs (359.4 μs .. 372.7 μs) - 0.998 R² (0.997 R² .. 1.000 R²) -mean 364.3 μs (361.8 μs .. 367.9 μs) -std dev 10.03 μs (7.286 μs .. 14.05 μs) -variance introduced by outliers: 20% (moderately inflated) - -benchmarking main/Queue/alternate -time 348.9 μs (346.4 μs .. 351.5 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 351.0 μs (349.2 μs .. 353.1 μs) -std dev 6.883 μs (5.020 μs .. 9.645 μs) -variance introduced by outliers: 11% (moderately inflated) - -benchmarking main/ListTr/right right -time 699.2 μs (695.2 μs .. 702.4 μs) +benchmarking main/Queue 100/left left +time 341.5 μs (341.1 μs .. 342.2 μs) 1.000 R² (1.000 R² .. 1.000 R²) -mean 695.1 μs (692.3 μs .. 698.8 μs) -std dev 10.80 μs (8.155 μs .. 15.39 μs) +mean 341.9 μs (341.2 μs .. 343.3 μs) +std dev 3.117 μs (1.865 μs .. 5.348 μs) -benchmarking main/ListTr/right left -time 707.9 μs (696.8 μs .. 723.4 μs) - 0.996 R² (0.992 R² .. 0.999 R²) -mean 700.7 μs (692.7 μs .. 713.5 μs) -std dev 31.72 μs (19.64 μs .. 51.81 μs) -variance introduced by outliers: 37% (moderately inflated) - -benchmarking main/ListTr/left left -time 700.4 μs (695.8 μs .. 706.9 μs) - 0.998 R² (0.995 R² .. 1.000 R²) -mean 702.7 μs (698.0 μs .. 715.4 μs) -std dev 24.32 μs (11.51 μs .. 46.45 μs) -variance introduced by outliers: 26% (moderately inflated) - -benchmarking main/ListTr/left right -time 703.8 μs (691.8 μs .. 714.6 μs) - 0.999 R² (0.998 R² .. 1.000 R²) -mean 695.4 μs (691.5 μs .. 699.8 μs) -std dev 13.95 μs (10.12 μs .. 18.83 μs) -variance introduced by outliers: 11% (moderately inflated) - -benchmarking main/ListTr/alternate -time 706.3 μs (700.2 μs .. 713.1 μs) - 0.999 R² (0.999 R² .. 1.000 R²) -mean 694.8 μs (690.7 μs .. 699.6 μs) -std dev 14.73 μs (12.14 μs .. 19.85 μs) -variance introduced by outliers: 12% (moderately inflated) - -benchmarking main/C/right right -time 764.5 μs (758.7 μs .. 769.3 μs) +benchmarking main/Queue 100/left right +time 344.0 μs (342.7 μs .. 345.8 μs) 1.000 R² (0.999 R² .. 1.000 R²) -mean 756.4 μs (753.1 μs .. 760.1 μs) -std dev 11.93 μs (9.724 μs .. 14.72 μs) +mean 344.5 μs (343.2 μs .. 346.5 μs) +std dev 5.442 μs (4.365 μs .. 7.546 μs) -benchmarking main/C/right left -time 722.2 μs (703.6 μs .. 741.4 μs) - 0.996 R² (0.994 R² .. 0.999 R²) -mean 701.7 μs (695.8 μs .. 712.3 μs) -std dev 26.03 μs (17.36 μs .. 41.34 μs) -variance introduced by outliers: 29% (moderately inflated) +benchmarking main/Queue 100/alternate +time 359.1 μs (343.2 μs .. 378.1 μs) + 0.989 R² (0.979 R² .. 0.999 R²) +mean 347.1 μs (343.3 μs .. 357.3 μs) +std dev 19.80 μs (10.27 μs .. 35.11 μs) +variance introduced by outliers: 53% (severely inflated) -benchmarking main/C/left left -time 811.6 μs (799.5 μs .. 828.3 μs) - 0.974 R² (0.949 R² .. 0.994 R²) -mean 897.2 μs (857.3 μs .. 966.8 μs) -std dev 177.5 μs (114.9 μs .. 283.1 μs) -variance introduced by outliers: 93% (severely inflated) - -benchmarking main/C/left right -time 720.7 μs (707.1 μs .. 741.5 μs) - 0.990 R² (0.980 R² .. 0.998 R²) -mean 733.5 μs (719.8 μs .. 755.1 μs) -std dev 58.97 μs (37.58 μs .. 86.10 μs) -variance introduced by outliers: 65% (severely inflated) - -benchmarking main/C/alternate -time 1.088 ms (1.079 ms .. 1.096 ms) +benchmarking main/ListTr 100/right right +time 175.0 μs (174.3 μs .. 176.0 μs) 0.999 R² (0.999 R² .. 1.000 R²) -mean 1.094 ms (1.088 ms .. 1.103 ms) -std dev 23.88 μs (16.62 μs .. 38.52 μs) -variance introduced by outliers: 11% (moderately inflated) +mean 175.8 μs (174.8 μs .. 178.3 μs) +std dev 5.004 μs (2.051 μs .. 9.617 μs) +variance introduced by outliers: 24% (moderately inflated) + +benchmarking main/ListTr 100/right left +time 175.2 μs (174.2 μs .. 176.4 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 175.3 μs (174.6 μs .. 176.2 μs) +std dev 2.866 μs (2.014 μs .. 4.405 μs) + +benchmarking main/ListTr 100/left left +time 178.8 μs (175.7 μs .. 182.2 μs) + 0.998 R² (0.998 R² .. 1.000 R²) +mean 177.0 μs (175.6 μs .. 179.9 μs) +std dev 6.350 μs (3.620 μs .. 11.78 μs) +variance introduced by outliers: 33% (moderately inflated) + +benchmarking main/ListTr 100/left right +time 174.2 μs (173.3 μs .. 175.6 μs) + 0.999 R² (0.998 R² .. 0.999 R²) +mean 180.9 μs (178.4 μs .. 184.9 μs) +std dev 10.83 μs (7.423 μs .. 16.29 μs) +variance introduced by outliers: 59% (severely inflated) + +benchmarking main/ListTr 100/alternate +time 173.9 μs (173.0 μs .. 175.0 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 173.5 μs (173.0 μs .. 174.1 μs) +std dev 1.951 μs (1.514 μs .. 2.633 μs) + +benchmarking main/C 100/right right +time 798.5 μs (792.7 μs .. 803.5 μs) + 1.000 R² (0.999 R² .. 1.000 R²) +mean 797.5 μs (793.5 μs .. 800.9 μs) +std dev 11.98 μs (9.948 μs .. 15.01 μs) + +benchmarking main/C 100/right left +time 679.3 μs (670.8 μs .. 691.7 μs) + 0.998 R² (0.997 R² .. 0.998 R²) +mean 686.6 μs (678.4 μs .. 695.5 μs) +std dev 27.59 μs (25.17 μs .. 30.52 μs) +variance introduced by outliers: 32% (moderately inflated) + +benchmarking main/C 100/left left +time 780.6 μs (776.9 μs .. 783.9 μs) + 1.000 R² (1.000 R² .. 1.000 R²) +mean 775.6 μs (772.1 μs .. 778.7 μs) +std dev 10.92 μs (8.476 μs .. 15.08 μs) + +benchmarking main/C 100/left right +time 601.6 μs (598.7 μs .. 604.4 μs) + 1.000 R² (0.999 R² .. 1.000 R²) +mean 607.9 μs (602.8 μs .. 616.0 μs) +std dev 20.49 μs (15.07 μs .. 26.09 μs) +variance introduced by outliers: 25% (moderately inflated) + +benchmarking main/C 100/alternate +time 1.045 ms (987.6 μs .. 1.161 ms) + 0.940 R² (0.867 R² .. 0.999 R²) +mean 1.016 ms (986.8 μs .. 1.107 ms) +std dev 152.4 μs (57.42 μs .. 296.9 μs) +variance introduced by outliers: 86% (severely inflated) + +benchmarking main/Queue 250/right right +time 2.733 ms (2.700 ms .. 2.764 ms) + 0.999 R² (0.999 R² .. 1.000 R²) +mean 2.694 ms (2.676 ms .. 2.710 ms) +std dev 56.66 μs (45.91 μs .. 76.23 μs) + +benchmarking main/ListTr 250/right right +time 3.356 ms (3.175 ms .. 3.551 ms) + 0.979 R² (0.968 R² .. 0.989 R²) +mean 3.425 ms (3.315 ms .. 3.587 ms) +std dev 422.6 μs (296.3 μs .. 610.7 μs) +variance introduced by outliers: 74% (severely inflated) + +benchmarking main/Queue 500/right right +time 11.27 ms (10.84 ms .. 11.78 ms) + 0.985 R² (0.973 R² .. 0.993 R²) +mean 12.36 ms (11.94 ms .. 12.99 ms) +std dev 1.344 ms (995.0 μs .. 1.928 ms) +variance introduced by outliers: 56% (severely inflated) + +benchmarking main/ListTr 500/right right +time 18.27 ms (17.13 ms .. 19.35 ms) + 0.986 R² (0.975 R² .. 0.998 R²) +mean 18.14 ms (17.70 ms .. 18.98 ms) +std dev 1.466 ms (866.9 μs .. 2.203 ms) +variance introduced by outliers: 35% (moderately inflated) ``` diff --git a/free-category.cabal b/free-category.cabal index 3d08497..669183f 100644 --- a/free-category.cabal +++ b/free-category.cabal @@ -15,9 +15,9 @@ cabal-version: >= 1.10 extra-source-files: ChangeLog.md README.md - bench/raport-O0.md - bench/raport-O1.md - bench/raport-O2.md + bench/report-O0.md + bench/report-O1.md + bench/report-O2.md tested-with: GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5 source-repository head