# criterion performance measurements

## overview

want to understand this report?

## fib/1

| lower bound | estimate | upper bound
--- | --- | --- | ---
OLS regression | xxx | xxx | xxx
R² goodness-of-fit | xxx | xxx | xxx
Mean execution time | 1.534933170419988e-8 | 1.559289558335549e-8 | 1.5955027539726543e-8
Standard deviation | 6.920776075641315e-10 | 9.603540851522639e-10 | 1.5315630337882154e-9

Outlying measurements have severe (0.8088974150289796%) effect on estimated standard deviation.

## fib/5

| lower bound | estimate | upper bound
--- | --- | --- | ---
OLS regression | xxx | xxx | xxx
R² goodness-of-fit | xxx | xxx | xxx
Mean execution time | 2.0708698124838526e-7 | 2.1107084459065708e-7 | 2.1648984992614215e-7
Standard deviation | 1.0816855360797646e-8 | 1.509440180252194e-8 | 2.2611667067984586e-8

Outlying measurements have severe (0.8225875438214796%) effect on estimated standard deviation.

## fib/9

| lower bound | estimate | upper bound
--- | --- | --- | ---
OLS regression | xxx | xxx | xxx
R² goodness-of-fit | xxx | xxx | xxx
Mean execution time | 1.5092983334102336e-6 | 1.531476067375206e-6 | 1.5561257644394457e-6
Standard deviation | 6.251710322835121e-8 | 8.358628655460513e-8 | 1.1570124318539241e-7

Outlying measurements have severe (0.6916115394455409%) effect on estimated standard deviation.

## fib/11

| lower bound | estimate | upper bound
--- | --- | --- | ---
OLS regression | xxx | xxx | xxx
R² goodness-of-fit | xxx | xxx | xxx
Mean execution time | 4.0381903380782345e-6 | 4.1056747646400756e-6 | 4.177267574309266e-6
Standard deviation | 1.967404221672586e-7 | 2.3166650962027132e-7 | 2.8018472343096967e-7

Outlying measurements have severe (0.6846724652533784%) 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.