Skip to content
This repository was archived by the owner on Sep 20, 2023. It is now read-only.

[#57] Add buildable interface #91

Merged
merged 18 commits into from
Sep 6, 2016

Conversation

JanGe
Copy link
Member

@JanGe JanGe commented Aug 23, 2016

First draft of an interface for builders (see issue #57).

  • Extract Interface
  • Builder for boxed Arrays
  • Builder for Strings
  • Tests
  • Benchmarks
  • Improve Performance

Feedback very welcome! :)

@vincenthz vincenthz added enhancement WIP Work In Progress (e.g. don't merge) labels Aug 29, 2016
@JanGe
Copy link
Member Author

JanGe commented Sep 2, 2016

Performance is not really good so far (stack bench :bench-buildable):

Benchmark bench-buildable: RUNNING...
benchmarking String/100000/Buildable
time                 24.41 ms   (24.08 ms .. 24.71 ms)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 25.31 ms   (24.93 ms .. 25.79 ms)
std dev              967.7 μs   (649.8 μs .. 1.444 ms)

benchmarking String/100000/fromList
time                 16.43 ms   (16.17 ms .. 16.73 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 16.52 ms   (16.38 ms .. 16.73 ms)
std dev              439.4 μs   (323.5 μs .. 644.2 μs)

benchmarking String/1000000/Buildable
time                 242.0 ms   (235.2 ms .. 248.9 ms)
                     1.000 R²   (0.998 R² .. 1.000 R²)
mean                 243.0 ms   (240.7 ms .. 245.9 ms)
std dev              3.161 ms   (935.9 μs .. 4.296 ms)
variance introduced by outliers: 16% (moderately inflated)

benchmarking String/1000000/fromList
time                 166.4 ms   (162.3 ms .. 168.9 ms)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 165.2 ms   (163.6 ms .. 167.6 ms)
std dev              2.520 ms   (1.473 ms .. 3.627 ms)
variance introduced by outliers: 12% (moderately inflated)

benchmarking String/10000000/Buildable
time                 2.475 s    (2.340 s .. 2.660 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 2.446 s    (2.401 s .. 2.475 s)
std dev              43.27 ms   (0.0 s .. 49.79 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking String/10000000/fromList
time                 1.674 s    (1.641 s .. 1.746 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.641 s    (1.627 s .. 1.652 s)
std dev              18.29 ms   (0.0 s .. 19.80 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/100000/Buildable
time                 9.861 ms   (9.487 ms .. 10.37 ms)
                     0.976 R²   (0.941 R² .. 0.994 R²)
mean                 10.17 ms   (9.939 ms .. 10.65 ms)
std dev              885.7 μs   (501.5 μs .. 1.596 ms)
variance introduced by outliers: 48% (moderately inflated)

benchmarking UArray Word32/100000/fromList
time                 3.679 ms   (3.558 ms .. 3.805 ms)
                     0.988 R²   (0.980 R² .. 0.993 R²)
mean                 4.187 ms   (4.054 ms .. 4.345 ms)
std dev              459.2 μs   (369.5 μs .. 549.5 μs)
variance introduced by outliers: 68% (severely inflated)

benchmarking UArray Word32/1000000/Buildable
time                 90.30 ms   (85.67 ms .. 92.93 ms)
                     0.997 R²   (0.993 R² .. 1.000 R²)
mean                 91.14 ms   (89.67 ms .. 92.63 ms)
std dev              2.410 ms   (1.773 ms .. 3.457 ms)

benchmarking UArray Word32/1000000/fromList
time                 37.56 ms   (36.32 ms .. 38.79 ms)
                     0.997 R²   (0.994 R² .. 0.999 R²)
mean                 38.18 ms   (37.40 ms .. 39.79 ms)
std dev              2.056 ms   (906.1 μs .. 3.612 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/10000000/Buildable
time                 994.0 ms   (860.2 ms .. 1.119 s)
                     0.998 R²   (0.992 R² .. 1.000 R²)
mean                 914.9 ms   (854.7 ms .. 945.8 ms)
std dev              52.22 ms   (0.0 s .. 53.56 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/10000000/fromList
time                 392.8 ms   (157.2 ms .. 596.3 ms)
                     0.959 R²   (0.855 R² .. 1.000 R²)
mean                 381.9 ms   (350.2 ms .. 409.3 ms)
std dev              44.03 ms   (0.0 s .. 47.36 ms)
variance introduced by outliers: 23% (moderately inflated)

benchmarking Array Integer/100000/Buildable
time                 23.73 ms   (23.40 ms .. 24.07 ms)
                     0.999 R²   (0.997 R² .. 1.000 R²)
mean                 23.94 ms   (23.70 ms .. 24.26 ms)
std dev              631.4 μs   (398.6 μs .. 1.013 ms)

benchmarking Array Integer/100000/fromList
time                 2.888 ms   (2.757 ms .. 3.060 ms)
                     0.968 R²   (0.942 R² .. 0.992 R²)
mean                 3.146 ms   (3.009 ms .. 3.386 ms)
std dev              595.8 μs   (382.2 μs .. 812.9 μs)
variance introduced by outliers: 87% (severely inflated)

benchmarking Array Integer/1000000/Buildable
time                 211.7 ms   (200.7 ms .. 215.5 ms)
                     0.999 R²   (0.995 R² .. 1.000 R²)
mean                 206.6 ms   (202.8 ms .. 209.1 ms)
std dev              3.748 ms   (1.899 ms .. 4.966 ms)
variance introduced by outliers: 14% (moderately inflated)

benchmarking Array Integer/1000000/fromList
time                 31.07 ms   (29.95 ms .. 32.26 ms)
                     0.993 R²   (0.987 R² .. 0.997 R²)
mean                 31.72 ms   (30.64 ms .. 33.52 ms)
std dev              2.966 ms   (1.508 ms .. 5.033 ms)
variance introduced by outliers: 39% (moderately inflated)

benchmarking Array Integer/10000000/Buildable
time                 2.580 s    (2.489 s .. 2.663 s)
                     1.000 R²   (0.999 R² .. 1.000 R²)
mean                 2.465 s    (2.436 s .. 2.489 s)
std dev              36.27 ms   (0.0 s .. 40.25 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Array Integer/10000000/fromList
time                 335.9 ms   (67.30 ms .. 567.2 ms)
                     0.929 R²   (0.763 R² .. 1.000 R²)
mean                 341.5 ms   (289.9 ms .. 378.6 ms)
std dev              56.12 ms   (0.0 s .. 64.27 ms)
variance introduced by outliers: 46% (moderately inflated)

Benchmark bench-buildable: FINISH

@JanGe JanGe force-pushed the add-buildable-interface branch from a09d2ac to 92de713 Compare September 2, 2016 13:06
@JanGe
Copy link
Member Author

JanGe commented Sep 3, 2016

The builder for UArray Word32 now performs faster than using toList. The String builder is almost on par with toList. The Array Integer builder performs about 10x slower than toList.

Benchmark bench-buildable: RUNNING...
benchmarking String/100000/Buildable
time                 18.71 ms   (18.32 ms .. 19.05 ms)
                     0.998 R²   (0.996 R² .. 0.999 R²)
mean                 19.25 ms   (18.99 ms .. 19.55 ms)
std dev              685.3 μs   (501.4 μs .. 949.6 μs)
variance introduced by outliers: 13% (moderately inflated)

benchmarking String/100000/fromList
time                 15.88 ms   (15.65 ms .. 16.12 ms)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 16.40 ms   (16.18 ms .. 16.76 ms)
std dev              688.2 μs   (443.1 μs .. 1.061 ms)
variance introduced by outliers: 16% (moderately inflated)

benchmarking String/1000000/Buildable
time                 197.0 ms   (184.6 ms .. 209.2 ms)
                     0.997 R²   (0.988 R² .. 1.000 R²)
mean                 193.7 ms   (189.4 ms .. 198.1 ms)
std dev              5.729 ms   (3.604 ms .. 7.531 ms)
variance introduced by outliers: 14% (moderately inflated)

benchmarking String/1000000/fromList
time                 180.7 ms   (177.1 ms .. 184.4 ms)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 175.9 ms   (174.1 ms .. 177.7 ms)
std dev              2.489 ms   (1.938 ms .. 3.196 ms)
variance introduced by outliers: 12% (moderately inflated)

benchmarking String/10000000/Buildable
time                 2.075 s    (1.935 s .. 2.223 s)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 2.057 s    (2.026 s .. 2.079 s)
std dev              32.94 ms   (0.0 s .. 37.79 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking String/10000000/fromList
time                 2.175 s    (1.963 s .. 2.395 s)
                     0.999 R²   (0.995 R² .. 1.000 R²)
mean                 2.047 s    (1.949 s .. 2.097 s)
std dev              85.57 ms   (271.9 as .. 85.87 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/100000/Buildable
time                 2.022 ms   (1.848 ms .. 2.192 ms)
                     0.965 R²   (0.950 R² .. 0.986 R²)
mean                 1.891 ms   (1.840 ms .. 1.959 ms)
std dev              187.5 μs   (133.0 μs .. 261.1 μs)
variance introduced by outliers: 69% (severely inflated)

benchmarking UArray Word32/100000/fromList
time                 4.264 ms   (3.911 ms .. 4.782 ms)
                     0.933 R²   (0.900 R² .. 0.968 R²)
mean                 4.716 ms   (4.443 ms .. 5.021 ms)
std dev              826.6 μs   (639.6 μs .. 1.100 ms)
variance introduced by outliers: 85% (severely inflated)

benchmarking UArray Word32/1000000/Buildable
time                 17.75 ms   (16.74 ms .. 18.88 ms)
                     0.975 R²   (0.943 R² .. 0.994 R²)
mean                 18.26 ms   (17.55 ms .. 19.31 ms)
std dev              2.001 ms   (1.346 ms .. 2.823 ms)
variance introduced by outliers: 51% (severely inflated)

benchmarking UArray Word32/1000000/fromList
time                 39.00 ms   (37.31 ms .. 40.45 ms)
                     0.991 R²   (0.979 R² .. 0.999 R²)
mean                 39.86 ms   (38.60 ms .. 41.43 ms)
std dev              2.708 ms   (1.938 ms .. 3.983 ms)
variance introduced by outliers: 25% (moderately inflated)

benchmarking UArray Word32/10000000/Buildable
time                 182.5 ms   (147.2 ms .. 200.9 ms)
                     0.960 R²   (0.817 R² .. 0.995 R²)
mean                 164.3 ms   (143.5 ms .. 181.8 ms)
std dev              26.99 ms   (15.78 ms .. 41.97 ms)
variance introduced by outliers: 41% (moderately inflated)

benchmarking UArray Word32/10000000/fromList
time                 363.7 ms   (198.1 ms .. 511.9 ms)
                     0.975 R²   (0.911 R² .. 1.000 R²)
mean                 355.5 ms   (331.5 ms .. 375.5 ms)
std dev              31.86 ms   (0.0 s .. 34.70 ms)
variance introduced by outliers: 22% (moderately inflated)

benchmarking Array Integer/100000/Buildable
time                 16.85 ms   (16.51 ms .. 17.19 ms)
                     0.998 R²   (0.996 R² .. 0.999 R²)
mean                 17.06 ms   (16.83 ms .. 17.49 ms)
std dev              725.3 μs   (437.6 μs .. 1.278 ms)
variance introduced by outliers: 16% (moderately inflated)

benchmarking Array Integer/100000/fromList
time                 2.961 ms   (2.895 ms .. 3.025 ms)
                     0.996 R²   (0.992 R² .. 0.998 R²)
mean                 2.928 ms   (2.878 ms .. 2.970 ms)
std dev              152.4 μs   (125.4 μs .. 183.7 μs)
variance introduced by outliers: 35% (moderately inflated)

benchmarking Array Integer/1000000/Buildable
time                 236.9 ms   (228.3 ms .. 246.7 ms)
                     0.999 R²   (0.994 R² .. 1.000 R²)
mean                 250.2 ms   (247.5 ms .. 252.5 ms)
std dev              2.868 ms   (1.253 ms .. 3.642 ms)
variance introduced by outliers: 16% (moderately inflated)

benchmarking Array Integer/1000000/fromList
time                 32.83 ms   (31.41 ms .. 34.32 ms)
                     0.993 R²   (0.987 R² .. 0.997 R²)
mean                 31.80 ms   (30.58 ms .. 32.81 ms)
std dev              2.348 ms   (1.636 ms .. 3.507 ms)
variance introduced by outliers: 28% (moderately inflated)

benchmarking Array Integer/10000000/Buildable
time                 2.825 s    (2.574 s .. 3.357 s)
                     0.996 R²   (0.992 R² .. 1.000 R²)
mean                 2.875 s    (2.798 s .. 2.922 s)
std dev              71.09 ms   (0.0 s .. 80.75 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Array Integer/10000000/fromList
time                 344.1 ms   (25.22 ms .. 577.6 ms)
                     0.912 R²   (NaN R² .. 1.000 R²)
mean                 350.7 ms   (286.4 ms .. 394.2 ms)
std dev              65.31 ms   (0.0 s .. 75.38 ms)
variance introduced by outliers: 47% (moderately inflated)

Benchmark bench-buildable: FINISH

@JanGe JanGe self-assigned this Sep 3, 2016
@JanGe JanGe added the C - collection collection stuff label Sep 3, 2016
@JanGe
Copy link
Member Author

JanGe commented Sep 4, 2016

String is now quite a lot faster (fromList as well as Buildable), though the builder approach is still slower. The builder for boxed arrays is now only bit slower than toList. For unboxed arrays the builder approach is twice as fast as toList.

Benchmark bench-buildable: RUNNING...
benchmarking String/100000/Buildable
time                 3.189 ms   (3.146 ms .. 3.231 ms)
                     0.997 R²   (0.995 R² .. 0.998 R²)
mean                 3.258 ms   (3.205 ms .. 3.327 ms)
std dev              187.5 μs   (145.3 μs .. 241.6 μs)
variance introduced by outliers: 37% (moderately inflated)

benchmarking String/100000/fromList
time                 1.706 ms   (1.676 ms .. 1.741 ms)
                     0.996 R²   (0.993 R² .. 0.998 R²)
mean                 1.740 ms   (1.711 ms .. 1.771 ms)
std dev              104.0 μs   (83.41 μs .. 137.0 μs)
variance introduced by outliers: 45% (moderately inflated)

benchmarking String/1000000/Buildable
time                 31.53 ms   (30.71 ms .. 32.33 ms)
                     0.997 R²   (0.994 R² .. 0.999 R²)
mean                 31.47 ms   (30.68 ms .. 32.48 ms)
std dev              1.770 ms   (1.049 ms .. 2.803 ms)
variance introduced by outliers: 17% (moderately inflated)

benchmarking String/1000000/fromList
time                 17.63 ms   (17.01 ms .. 18.13 ms)
                     0.994 R²   (0.988 R² .. 0.998 R²)
mean                 17.63 ms   (17.12 ms .. 18.17 ms)
std dev              1.299 ms   (809.6 μs .. 2.187 ms)
variance introduced by outliers: 33% (moderately inflated)

benchmarking String/10000000/Buildable
time                 318.2 ms   (217.9 ms .. 411.5 ms)
                     0.974 R²   (0.921 R² .. 1.000 R²)
mean                 308.2 ms   (275.0 ms .. 341.1 ms)
std dev              36.26 ms   (5.242 ms .. 50.91 ms)
variance introduced by outliers: 36% (moderately inflated)

benchmarking String/10000000/fromList
time                 176.6 ms   (145.0 ms .. 199.6 ms)
                     0.971 R²   (0.870 R² .. 0.998 R²)
mean                 165.7 ms   (153.3 ms .. 177.2 ms)
std dev              16.90 ms   (12.62 ms .. 21.95 ms)
variance introduced by outliers: 27% (moderately inflated)

benchmarking UArray Word32/100000/Buildable
time                 1.733 ms   (1.712 ms .. 1.750 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 1.709 ms   (1.689 ms .. 1.730 ms)
std dev              72.90 μs   (62.25 μs .. 87.87 μs)
variance introduced by outliers: 29% (moderately inflated)

benchmarking UArray Word32/100000/fromList
time                 3.621 ms   (3.582 ms .. 3.674 ms)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 3.726 ms   (3.691 ms .. 3.763 ms)
std dev              118.4 μs   (97.31 μs .. 144.1 μs)
variance introduced by outliers: 14% (moderately inflated)

benchmarking UArray Word32/1000000/Buildable
time                 16.80 ms   (16.01 ms .. 17.43 ms)
                     0.991 R²   (0.984 R² .. 0.996 R²)
mean                 16.55 ms   (16.10 ms .. 17.22 ms)
std dev              1.342 ms   (961.6 μs .. 2.247 ms)
variance introduced by outliers: 40% (moderately inflated)

benchmarking UArray Word32/1000000/fromList
time                 36.15 ms   (34.92 ms .. 37.45 ms)
                     0.995 R²   (0.991 R² .. 0.998 R²)
mean                 37.64 ms   (36.80 ms .. 39.42 ms)
std dev              2.349 ms   (1.222 ms .. 4.316 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/10000000/Buildable
time                 180.6 ms   (144.4 ms .. 205.9 ms)
                     0.961 R²   (0.836 R² .. 0.995 R²)
mean                 163.4 ms   (135.9 ms .. 179.5 ms)
std dev              29.26 ms   (13.80 ms .. 44.94 ms)
variance introduced by outliers: 55% (severely inflated)

benchmarking UArray Word32/10000000/fromList
time                 353.2 ms   (167.0 ms .. 500.6 ms)
                     0.969 R²   (0.889 R² .. 1.000 R²)
mean                 359.1 ms   (338.5 ms .. 378.1 ms)
std dev              31.73 ms   (0.0 s .. 32.99 ms)
variance introduced by outliers: 22% (moderately inflated)

benchmarking Array Integer/100000/Buildable
time                 3.970 ms   (3.873 ms .. 4.073 ms)
                     0.996 R²   (0.995 R² .. 0.998 R²)
mean                 4.021 ms   (3.971 ms .. 4.069 ms)
std dev              155.8 μs   (135.1 μs .. 187.7 μs)
variance introduced by outliers: 21% (moderately inflated)

benchmarking Array Integer/100000/fromList
time                 2.880 ms   (2.838 ms .. 2.927 ms)
                     0.997 R²   (0.994 R² .. 0.998 R²)
mean                 2.986 ms   (2.943 ms .. 3.029 ms)
std dev              143.3 μs   (120.6 μs .. 181.5 μs)
variance introduced by outliers: 31% (moderately inflated)

benchmarking Array Integer/1000000/Buildable
time                 40.72 ms   (39.16 ms .. 42.36 ms)
                     0.996 R²   (0.994 R² .. 0.998 R²)
mean                 41.76 ms   (40.82 ms .. 43.11 ms)
std dev              2.262 ms   (1.476 ms .. 3.110 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Array Integer/1000000/fromList
time                 32.28 ms   (31.28 ms .. 33.36 ms)
                     0.995 R²   (0.991 R² .. 0.998 R²)
mean                 32.12 ms   (30.72 ms .. 33.02 ms)
std dev              2.432 ms   (1.327 ms .. 4.301 ms)
variance introduced by outliers: 28% (moderately inflated)

benchmarking Array Integer/10000000/Buildable
time                 457.0 ms   (240.7 ms .. 609.8 ms)
                     0.967 R²   (0.941 R² .. 1.000 R²)
mean                 445.1 ms   (412.6 ms .. 464.2 ms)
std dev              29.39 ms   (0.0 s .. 33.09 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Array Integer/10000000/fromList
time                 366.4 ms   (254.2 ms .. 488.9 ms)
                     0.963 R²   (0.751 R² .. 1.000 R²)
mean                 338.0 ms   (274.5 ms .. 364.9 ms)
std dev              46.03 ms   (12.21 ms .. 62.09 ms)
variance introduced by outliers: 37% (moderately inflated)

Benchmark bench-buildable: FINISH

@JanGe JanGe changed the title [WIP][#57] Add buildable interface [#57] Add buildable interface Sep 4, 2016
@JanGe JanGe removed the WIP Work In Progress (e.g. don't merge) label Sep 4, 2016
@JanGe JanGe force-pushed the add-buildable-interface branch from 46163d3 to 416fc82 Compare September 4, 2016 22:28
@JanGe JanGe force-pushed the add-buildable-interface branch from 416fc82 to 2135e8e Compare September 5, 2016 20:18
@JanGe
Copy link
Member Author

JanGe commented Sep 5, 2016

If I change my benchmark a little and add an extra step (replacing with another element) between constructing the input elements and building the collection, the builder approach is actually always faster (for UArray and String quite a lot faster!)

Benchmark bench-buildable: RUNNING...
benchmarking String/100000/Buildable
time                 4.500 ms   (4.328 ms .. 4.654 ms)
                     0.990 R²   (0.983 R² .. 0.994 R²)
mean                 4.814 ms   (4.635 ms .. 5.108 ms)
std dev              696.2 μs   (491.4 μs .. 975.0 μs)
variance introduced by outliers: 77% (severely inflated)

benchmarking String/100000/fromList
time                 9.577 ms   (9.469 ms .. 9.686 ms)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 9.794 ms   (9.715 ms .. 9.932 ms)
std dev              297.9 μs   (203.5 μs .. 451.1 μs)
variance introduced by outliers: 12% (moderately inflated)

benchmarking String/1000000/Buildable
time                 48.07 ms   (46.50 ms .. 49.21 ms)
                     0.997 R²   (0.993 R² .. 0.999 R²)
mean                 46.65 ms   (45.25 ms .. 47.69 ms)
std dev              2.243 ms   (1.661 ms .. 3.155 ms)
variance introduced by outliers: 13% (moderately inflated)

benchmarking String/1000000/fromList
time                 160.0 ms   (134.7 ms .. 220.3 ms)
                     0.896 R²   (0.762 R² .. 0.994 R²)
mean                 127.1 ms   (109.0 ms .. 155.0 ms)
std dev              33.16 ms   (16.06 ms .. 51.57 ms)
variance introduced by outliers: 73% (severely inflated)

benchmarking String/10000000/Buildable
time                 488.4 ms   (321.9 ms .. 671.8 ms)
                     0.983 R²   (0.942 R² .. 1.000 R²)
mean                 458.3 ms   (416.5 ms .. 486.6 ms)
std dev              42.57 ms   (0.0 s .. 49.13 ms)
variance introduced by outliers: 22% (moderately inflated)

benchmarking String/10000000/fromList
time                 968.0 ms   (750.4 ms .. 1.391 s)
                     0.978 R²   (0.957 R² .. 1.000 R²)
mean                 988.4 ms   (920.8 ms .. 1.028 s)
std dev              60.71 ms   (0.0 s .. 67.86 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking UArray Word32/100000/Buildable
time                 3.107 ms   (3.057 ms .. 3.153 ms)
                     0.997 R²   (0.994 R² .. 0.999 R²)
mean                 3.171 ms   (3.139 ms .. 3.232 ms)
std dev              136.7 μs   (93.37 μs .. 240.3 μs)
variance introduced by outliers: 25% (moderately inflated)

benchmarking UArray Word32/100000/fromList
time                 14.73 ms   (14.45 ms .. 15.00 ms)
                     0.997 R²   (0.994 R² .. 0.999 R²)
mean                 15.80 ms   (15.42 ms .. 16.59 ms)
std dev              1.329 ms   (629.4 μs .. 2.403 ms)
variance introduced by outliers: 40% (moderately inflated)

benchmarking UArray Word32/1000000/Buildable
time                 29.65 ms   (28.13 ms .. 31.00 ms)
                     0.992 R²   (0.986 R² .. 0.996 R²)
mean                 30.75 ms   (29.83 ms .. 31.86 ms)
std dev              2.128 ms   (1.356 ms .. 2.998 ms)
variance introduced by outliers: 28% (moderately inflated)

benchmarking UArray Word32/1000000/fromList
time                 161.2 ms   (139.2 ms .. 178.7 ms)
                     0.980 R²   (0.922 R² .. 0.999 R²)
mean                 167.1 ms   (154.5 ms .. 192.4 ms)
std dev              22.69 ms   (9.010 ms .. 34.93 ms)
variance introduced by outliers: 41% (moderately inflated)

benchmarking UArray Word32/10000000/Buildable
time                 295.6 ms   (184.1 ms .. 407.3 ms)
                     0.950 R²   (0.797 R² .. 1.000 R²)
mean                 278.8 ms   (248.6 ms .. 309.0 ms)
std dev              37.59 ms   (18.01 ms .. 48.91 ms)
variance introduced by outliers: 37% (moderately inflated)

benchmarking UArray Word32/10000000/fromList
time                 1.495 s    (988.8 ms .. 2.457 s)
                     0.955 R²   (0.917 R² .. 1.000 R²)
mean                 1.645 s    (1.486 s .. 1.774 s)
std dev              202.2 ms   (271.9 as .. 223.5 ms)
variance introduced by outliers: 23% (moderately inflated)

benchmarking Array Integer/100000/Buildable
time                 11.59 ms   (11.47 ms .. 11.71 ms)
                     0.999 R²   (0.998 R² .. 1.000 R²)
mean                 11.40 ms   (11.30 ms .. 11.49 ms)
std dev              248.5 μs   (190.8 μs .. 355.7 μs)

benchmarking Array Integer/100000/fromList
time                 12.06 ms   (11.85 ms .. 12.32 ms)
                     0.997 R²   (0.995 R² .. 0.999 R²)
mean                 12.44 ms   (12.25 ms .. 12.70 ms)
std dev              560.9 μs   (421.2 μs .. 750.0 μs)
variance introduced by outliers: 18% (moderately inflated)

benchmarking Array Integer/1000000/Buildable
time                 112.2 ms   (107.8 ms .. 114.7 ms)
                     0.999 R²   (0.996 R² .. 1.000 R²)
mean                 115.0 ms   (112.8 ms .. 119.7 ms)
std dev              4.714 ms   (1.155 ms .. 7.203 ms)
variance introduced by outliers: 11% (moderately inflated)

benchmarking Array Integer/1000000/fromList
time                 150.0 ms   (129.5 ms .. 177.3 ms)
                     0.969 R²   (0.923 R² .. 0.999 R²)
mean                 142.8 ms   (132.7 ms .. 154.9 ms)
std dev              15.71 ms   (10.51 ms .. 20.25 ms)
variance introduced by outliers: 27% (moderately inflated)

benchmarking Array Integer/10000000/Buildable
time                 1.193 s    (1.081 s .. 1.334 s)
                     0.998 R²   (0.997 R² .. 1.000 R²)
mean                 1.195 s    (1.170 s .. 1.210 s)
std dev              22.56 ms   (0.0 s .. 25.53 ms)
variance introduced by outliers: 19% (moderately inflated)

benchmarking Array Integer/10000000/fromList
time                 1.551 s    (1.018 s .. 2.161 s)
                     0.982 R²   (0.939 R² .. 1.000 R²)
mean                 1.479 s    (1.395 s .. 1.542 s)
std dev              95.75 ms   (0.0 s .. 108.7 ms)
variance introduced by outliers: 19% (moderately inflated)

Benchmark bench-buildable: FINISH

@vincenthz vincenthz merged commit f23d195 into haskell-foundation:master Sep 6, 2016
@vincenthz
Copy link
Member

we need this as part of master ! :)
well done, thanks !

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C - collection collection stuff
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants