criterion performance measurements
overview
want to understand this report?
getBlocksTotal 100 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 4.0707382655544744e-2 | 4.0870517856878515e-2 | 4.106310288676824e-2 |
Standard deviation | 2.3081280481509824e-4 | 3.4041617153244457e-4 | 4.713121238850454e-4 |
Outlying measurements have slight (6.222222222222209e-2%) effect on estimated standard deviation.
getBlocksTotal 1000 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 4.0690501867404465e-2 | 4.0974450392677886e-2 | 4.1357911092951616e-2 |
Standard deviation | 5.016611910713502e-4 | 6.561864959096498e-4 | 9.253124953185732e-4 |
Outlying measurements have slight (6.222222222222221e-2%) effect on estimated standard deviation.
getBlocksTotal 10000 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 4.032104649931049e-2 | 4.1015698880834846e-2 | 4.147408458525265e-2 |
Standard deviation | 6.593451900748854e-4 | 1.1491069312413785e-3 | 1.890844041236483e-3 |
Outlying measurements have slight (6.222222222222222e-2%) effect on estimated standard deviation.
getBlocksPage 100 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 4.0795791454682914e-2 | 4.154465370592382e-2 | 4.200401333243813e-2 |
Standard deviation | 7.399690294178367e-4 | 1.229834719247322e-3 | 1.9779833532510803e-3 |
Outlying measurements have slight (6.222222222222223e-2%) effect on estimated standard deviation.
getBlocksPage 1000 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 3.9859289420805015e-2 | 4.048088950875454e-2 | 4.0934270284247086e-2 |
Standard deviation | 7.222173599337528e-4 | 1.0364589159740343e-3 | 1.4492934448243568e-3 |
Outlying measurements have slight (6.222222222222223e-2%) effect on estimated standard deviation.
getBlocksPage 10000 blocks
lower bound | estimate | upper bound | |
---|---|---|---|
OLS regression | xxx | xxx | xxx |
R² goodness-of-fit | xxx | xxx | xxx |
Mean execution time | 3.906735970391084e-2 | 3.947517976248855e-2 | 4.040604552895173e-2 |
Standard deviation | 2.008083367055803e-4 | 1.1182607007667249e-3 | 1.7895949195648002e-3 |
Outlying measurements have slight (6.2222222222222234e-2%) 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.