tower-dev performance testing

Method

In general terms, we create containers of sizes ms and measure repeated operations, and do this n times.

Based on a 2.6G machine one cycle is = 0.38 𝛈s

All numbers are in cycles per element.

Each line shows (min, 25th, median, 75th, max) cycles across n runs Lines are labelled with size of container.

Int

plus - list

tower

x=        1:     50.0    51.2    51.6    51.9    52.3    52.6    53.0    54.6    56.1    57.7  1.31e4
x=      1e1:     29.4    29.5    29.5    29.6    29.7    30.2    30.4    30.5    30.5    31.4    65.0
x=      1e3:     22.4    22.4    22.4    22.4    22.5    22.5    25.3    25.3    25.4    26.9  2.83e3
x=      1e5:     28.2    28.6    28.9    29.1    29.1    29.3    29.5    29.5    29.8    30.6     168

prelude

x=        1:     52.0    52.8    53.5    53.8    54.1    54.5    54.8    55.1    55.4    58.8  1.95e3
x=      1e1:     30.8    31.4    31.4    31.4    31.5    31.5    31.6    33.1    35.3    40.3  2.30e4
x=      1e3:     23.1    23.1    23.1    23.1    23.1    23.2    23.3    27.7    27.7    27.7     427
x=      1e5:     29.0    30.1    30.3    30.6    30.7    30.8    31.0    31.1    31.4    32.3  1.41e3

randoms

x=        1:     46.0    48.6    48.8    49.0    49.3    49.5    49.8    50.0    50.2    50.5  2.01e3
x=      1e1:     30.3    30.9    30.9    31.0    31.0    31.1    31.2    31.2    31.3    32.1     151
x=      1e3:     23.1    23.1    23.1    23.2    23.2    23.3    23.8    27.5    27.7    27.8     307
x=      1e5:     30.0    30.9    31.2    31.4    31.6    31.7    31.9    32.0    32.2    32.6     145

plus - unboxed

tower

x=        1:     33.0    35.1    35.7    36.4    36.8    37.1    37.4    37.7    38.1    38.4  2.73e4
x=      1e1:     5.50    5.51    5.51    5.52    5.52    5.53    5.54    5.54    5.55    5.77    31.8
x=      1e3:     1.78    1.79    1.79    1.79    1.79    1.80    1.80    1.80    1.80    1.81    5.05
x=      1e5:     1.68    1.68    1.69    1.69    1.69    1.69    1.71    1.90    1.94    1.99    4.27

prelude

x=        1:     28.0    30.1    31.1    31.6    32.0    32.5    33.0    39.1    40.0    41.0  1.76e3
x=      1e1:     4.80    5.07    5.15    5.24    5.31    5.37    5.42    5.48    6.01    6.59    26.0
x=      1e3:     1.69    1.70    1.70    1.71    1.72    1.75    1.75    1.75    1.75    1.76    24.5
x=      1e5:     1.68    1.69    1.78    1.78    1.78    1.79    1.79    1.79    1.79    1.79    3.65

randoms

x=        1:     22.0    22.2    22.4    22.6    22.7    22.9    26.5    47.6    52.8    59.0  2.99e3
x=      1e1:     3.40    3.56    3.62    3.69    5.50    6.94    6.99    7.04    7.09    7.63     234
x=      1e3:     1.79    1.80    2.76    2.76    2.77    2.77    2.78    2.78    2.79    2.83     446
x=      1e5:     1.68    1.68    1.69    1.69    1.69    1.69    1.70    1.82    1.88    1.98    57.5

plus - storable

tower

x=        1:     20.0    20.4    20.7    21.2    21.8    22.4    23.0    53.7    55.7    56.8  2.56e4
x=      1e1:     3.20    3.39    3.48    3.86    4.31    4.76    6.77    6.88    7.05    7.24    44.8
x=      1e3:     1.51    1.51    1.51    1.54    1.54    1.54    1.54    1.54    1.54    1.55    22.3
x=      1e5:     1.47    1.47    1.48    1.51    1.52    1.52    1.53    1.57    1.62    1.73    3.89

prelude

x=        1:     18.0    19.6    20.3    20.9    21.6    22.2    22.9    53.5    55.0    56.5  2.53e3
x=      1e1:     3.20    3.41    3.58    3.77    3.96    5.86    6.66    6.95    7.01    7.07    37.0
x=      1e3:     1.55    1.56    1.56    1.56    1.56    1.56    1.56    1.56    1.56    1.57    4.18
x=      1e5:     1.47    1.51    1.51    1.51    1.52    1.52    1.52    1.55    1.56    1.57    3.26

randoms

x=        1:     30.0    30.3    30.7    31.3    32.0    32.9    33.6    34.1    34.5    35.0  3.21e3
x=      1e1:     4.30    4.38    4.45    4.50    4.55    4.60    4.64    4.69    4.74    4.99     221
x=      1e3:     1.57    1.58    1.58    1.58    1.58    1.58    1.58    1.58    1.58    1.58     402
x=      1e5:     1.46    1.47    1.47    1.47    1.48    1.48    1.50    1.52    1.60    1.77    61.2

times - list

tower

x=        1:     42.0    49.4    49.9    50.5    51.1    51.4    51.8    52.2    52.6    52.9  3.16e3
x=      1e1:     29.6    29.8    29.9    30.3    30.4    30.5    30.6    30.6    30.8    31.5    48.2
x=      1e3:     23.2    23.3    23.4    23.9    23.9    23.9    24.0    24.1    24.3    29.9     446
x=      1e5:     28.8    29.5    29.8    30.0    30.2    30.3    30.5    30.7    30.9    31.4     173

prelude

x=        1:     52.0    52.4    52.8    53.1    53.5    53.9    54.3    54.7    55.1    55.5  1.47e3
x=      1e1:     32.1    32.1    32.1    32.1    32.3    32.4    32.4    32.4    32.7    34.3    91.1
x=      1e3:     23.9    23.9    23.9    23.9    23.9    24.0    24.0    27.7    27.7    27.8     327
x=      1e5:     29.4    30.1    30.3    30.5    30.7    30.8    30.8    31.1    31.3    31.7     174

randoms

x=        1:     43.0    48.5    48.8    49.0    49.3    49.5    49.8    50.0    50.3    51.5  2.34e3
x=      1e1:     31.2    31.4    31.4    31.4    31.5    31.5    31.5    31.5    31.7    33.3     169
x=      1e3:     23.9    23.9    23.9    24.0    24.0    24.1    24.2    28.5    28.5    28.6     494
x=      1e5:     32.5    33.0    33.4    33.8    34.1    34.2    34.4    34.8    35.2    35.8     162

times - unboxed

tower

x=        1:     27.0    30.3    31.5    32.8    33.7    34.3    34.8    36.2    37.3    38.2  2.76e3
x=      1e1:     4.90    5.19    5.35    5.39    5.43    5.47    5.51    5.59    5.76    5.84    29.6
x=      1e3:     2.33    2.34    2.34    2.34    2.34    2.34    2.34    2.34    2.34    2.34    5.00
x=      1e5:     2.17    2.17    2.17    2.18    2.21    2.24    2.29    2.29    2.30    2.42    4.32

prelude

x=        1:     22.0    23.0    23.4    23.8    24.2    24.6    25.0    57.3    58.0    58.8  1.26e3
x=      1e1:     3.40    3.53    3.60    3.68    4.68    6.83    6.95    7.01    7.08    7.50    27.6
x=      1e3:     2.24    2.28    2.33    2.33    2.33    2.33    2.34    2.34    2.34    2.34    24.7
x=      1e5:     2.17    2.23    2.24    2.27    2.29    2.29    2.29    2.29    2.29    2.35    4.42

randoms

x=        1:     33.0    33.6    35.0    35.7    36.4    37.9    39.4    41.0    42.5    44.0  3.47e3
x=      1e1:     5.20    5.34    5.38    5.42    5.46    5.49    5.53    5.70    5.77    5.84     224
x=      1e3:     2.33    2.34    2.34    2.34    2.34    2.34    2.34    2.44    2.78    2.88     369
x=      1e5:     2.17    2.17    2.18    2.26    2.42    3.00    3.00    3.31    3.55    3.55    65.6

times - storable

tower

x=        1:     40.0    42.4    42.8    43.3    43.7    44.2    44.6    45.0    45.5    45.9  2.49e3
x=      1e1:     5.20    5.70    5.82    5.94    6.07    6.19    6.29    6.39    6.50    6.60    52.8
x=      1e3:     3.04    3.04    3.04    3.05    3.05    3.05    3.05    3.05    3.05    3.06    23.3
x=      1e5:     2.52    2.52    2.52    2.52    3.00    3.00    3.00    3.00    3.01    3.04    5.52

prelude

x=        1:     27.0    31.8    32.2    32.6    32.9    33.3    33.7    34.1    34.5    44.2  1.67e3
x=      1e1:     4.50    4.54    4.58    4.62    4.71    5.22    5.34    5.46    5.58    6.18    23.8
x=      1e3:     2.55    2.55    2.55    2.55    2.55    2.56    2.56    2.56    2.56    2.56    5.40
x=      1e5:     2.17    2.29    2.30    2.30    2.52    2.52    2.52    2.52    2.55    2.58    4.66

randoms

x=        1:     21.0    29.3    29.8    30.3    30.8    31.2    31.6    32.0    33.9    35.2  4.16e3
x=      1e1:     4.00    4.24    4.35    4.57    4.60    4.64    4.68    4.72    4.78    5.03     225
x=      1e3:     2.33    2.33    2.33    2.33    2.33    2.33    2.33    2.33    2.33    2.34    49.5
x=      1e5:     2.17    2.30    2.30    2.30    2.30    2.30    2.30    2.31    2.34    2.44    76.5