criterion performance measurements
overview
want to understand this report?
hashMap
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 1.183382868328787 | 1.215732274359608 | 1.2389196604156985 |
Standard deviation | 0.0 | 3.503516182025675e-2 | 4.016173074386313e-2 |
Outlying measurements have moderate (0.18749999999999997%) effect on estimated standard deviation.
lazyHashMap
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 0.6865059789976155 | 0.7542026497750826 | 0.8048248111077276 |
Standard deviation | 0.0 | 7.726176646268411e-2 | 8.76801554170899e-2 |
Outlying measurements have moderate (0.22673586586940853%) effect on estimated standard deviation.
treeMap
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 0.8238558324788979 | 0.8307417458265022 | 0.8342716353335188 |
Standard deviation | 1.3597399555105182e-16 | 5.969075961189514e-3 | 6.1139479712569505e-3 |
Outlying measurements have moderate (0.1875%) effect on estimated standard deviation.
lazyTreeMap
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 0.9354499509970536 | 0.9851443474133057 | 1.0627382844955944 |
Standard deviation | 0.0 | 6.807619435779887e-2 | 7.348995361008136e-2 |
Outlying measurements have moderate (0.19887312451224287%) effect on estimated standard deviation.
ekmett nub
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 0.9545364879865016 | 1.5538256277149696 | 1.7950628808842766 |
Standard deviation | 0.0 | 0.5477803725389206 | 0.6201640592663545 |
Outlying measurements have severe (0.7323203286478808%) effect on estimated standard deviation.
group . sort
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 0.7222421209859246 | 0.7364937729645803 | 0.7451906630518073 |
Standard deviation | 0.0 | 1.321159981561309e-2 | 1.5063455498919222e-2 |
Outlying measurements have moderate (0.18749999999999997%) effect on estimated standard deviation.
nub
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 4.307012264498212 | 4.448000653498998 | 4.5421990593317405 |
Standard deviation | 0.0 | 0.14129862380354494 | 0.16315642489430177 |
Outlying measurements have moderate (0.18749999999999997%) 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.