criterion performance measurements
overview
want to understand this report?
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/vegito
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.04698339805408e-6 | 5.058126555367965e-6 | 5.0814215532222215e-6 |
Standard deviation | 2.7559530528929736e-8 | 4.6512743123217627e-8 | 8.761050021819734e-8 |
Outlying measurements have no (5.5864158565838064e-3%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/gotenks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.062140922903756e-6 | 5.075952813887726e-6 | 5.091200413636181e-6 |
Standard deviation | 3.9371246343271035e-8 | 4.880622795629583e-8 | 6.44440402052526e-8 |
Outlying measurements have slight (5.5542819141926165e-2%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/conduit-combinators unqualified
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 1.1181095312286869e-3 | 1.1356401409082068e-3 | 1.1661312170029943e-3 |
Standard deviation | 5.3390468744207256e-5 | 8.533695308299818e-5 | 1.281909475729944e-4 |
Outlying measurements have severe (0.5881477694601457%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/conduit-combinators qualified
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.06693941595305e-6 | 5.1026746014408814e-6 | 5.1950427538039535e-6 |
Standard deviation | 5.648093624150736e-8 | 1.6225630266956213e-7 | 3.0510118826434783e-7 |
Outlying measurements have moderate (0.3955108305055059%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/conduit
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.062207883103922e-6 | 5.081944961114066e-6 | 5.153059118355966e-6 |
Standard deviation | 3.5085619081380075e-8 | 1.2020458513794528e-7 | 2.4623421455957536e-7 |
Outlying measurements have moderate (0.2685189553749743%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/vector boxed
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.057778935483031e-6 | 5.0697247966163474e-6 | 5.092574020921399e-6 |
Standard deviation | 3.186354317873175e-8 | 5.314405713977064e-8 | 8.628427042088357e-8 |
Outlying measurements have slight (6.877276137113449e-2%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/vector unboxed
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.0769111591411775e-6 | 5.104424164005706e-6 | 5.198288106302256e-6 |
Standard deviation | 5.1897927901574893e-8 | 1.4082341994381395e-7 | 2.98641675387848e-7 |
Outlying measurements have moderate (0.3291521152030871%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/vector unboxed foldM
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.05937659811085e-6 | 5.073262967569812e-6 | 5.092720320952292e-6 |
Standard deviation | 4.3930310039045714e-8 | 5.576834742633988e-8 | 7.51249398088904e-8 |
Outlying measurements have slight (7.41578693737416e-2%) effect on estimated standard deviation.
sum $ map (+ 1) $ map (* 2) $ enumFromTo 1 9001/direct implementation
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 5.980777495909067e-6 | 6.001788421220449e-6 | 6.0363379192345105e-6 |
Standard deviation | 5.97640859602847e-8 | 8.224398460349541e-8 | 1.2313198130959798e-7 |
Outlying measurements have moderate (0.108624445414539%) effect on estimated standard deviation.
understanding this report
In this report, each function benchmarked by criterion is assigned a section of its own. The charts in each section are active; if you hover your mouse over data points and annotations, you will see more details.
- The chart on the left is a kernel density estimate (also known as a KDE) of time measurements. This graphs the probability of any given time measurement occurring. A spike indicates that a measurement of a particular time occurred; its height indicates how often that measurement was repeated.
- The chart on the right is the raw data from which the kernel density estimate is built. The x axis indicates the number of loop iterations, while the y axis shows measured execution time for the given number of loop iterations. The line behind the values is the linear regression prediction of execution time for a given number of iterations. Ideally, all measurements will be on (or very near) this line.
Under the charts is a small table. The first two rows are the results of a linear regression run on the measurements displayed in the right-hand chart.
- OLS regression indicates the time estimated for a single loop iteration using an ordinary least-squares regression model. This number is more accurate than the mean estimate below it, as it more effectively eliminates measurement overhead and other constant factors.
- R² goodness-of-fit is a measure of how accurately the linear regression model fits the observed measurements. If the measurements are not too noisy, R² should lie between 0.99 and 1, indicating an excellent fit. If the number is below 0.99, something is confounding the accuracy of the linear model.
- Mean execution time and standard deviation are statistics calculated from execution time divided by number of iterations.
We use a statistical technique called the bootstrap to provide confidence intervals on our estimates. The bootstrap-derived upper and lower bounds on estimates 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.