Skip to content

Benchmarks

Benchmarks for the convolution distributions, reading the analytic and numeric quadrature backends against the bare component distributions.

Quick start

Install the benchpkg CLI once:

bash
task benchmark-install
# Or: julia -e 'using Pkg; Pkg.add("AirspeedVelocity")'

then run the suite:

bash
# Benchmark current state
task benchmark

# Compare main branch vs current state
task benchmark-compare

# Filter to specific benchmarks
task benchmark -- --filter=Convolved
task benchmark-compare -- --filter=Quantile

Benchmark structure

Baseline/
  Gamma/               (logpdf, cdf)
  Normal/              (logpdf, cdf)

Convolved/
  analytic/            (construction, logpdf/pdf/cdf scalar,
                        logpdf broadcast, logpdf/pdf/cdf batched,
                        rand, mean)
  numeric/             (same operations)

Difference/
  analytic/            (construction, logpdf/cdf scalar,
                        logpdf/cdf broadcast, rand, mean)
  numeric/             (same operations)

Product/
  analytic/            (construction, logpdf/cdf scalar,
                        logpdf/cdf broadcast, rand, mean)
  numeric/             (same operations)

Timeseries/
  Gamma delay          (convolve_series(discretise_pmf(delay, m), series))
  Convolved delay
  Poisson delay        (discrete: convolve_series(delay, series))

Quantile/
  Convolved analytic/  (median, grid)
  Convolved numeric/   (median)
  Difference numeric/  (median)
  Product numeric/     (median)

AD gradients/
  <every test/ADFixtures scenario>/
    ForwardDiff, ReverseDiff (tape), Enzyme forward, Enzyme reverse,
    Mooncake forward, Mooncake reverse

Analytic vs numeric

convolved, difference, and product use a closed form where one exists (Normal + Normal, equal-scale Gamma, equal-rate Exponential; Normal - Normal; LogNormal * LogNormal) and AD-safe Gauss-Legendre quadrature otherwise. The analytic rows should sit near the Baseline floor; the gap between the numeric rows and their analytic counterparts is the cost of the quadrature backend. The batched rows share the composite quadrature grid across evaluation points; their gap to the logpdf broadcast row over the same points is the headline batching win. Pass method = NumericSolver() to force the numeric path.

CI integration

Pull requests benchmark head and base in separate jobs via the benchmark workflow and post a single comparison comment. Pushes to main and tagged releases append to the performance history below.

Performance history

Benchmark summary (overall)

SuiteMedian ratioTrendStatus
AD gradientsn/an/a
Baselinen/an/a
Convolvedn/an/a
Differencen/an/a
Productn/an/a
Quantilen/an/a
Timeseriesn/an/a
time_to_loadn/an/a

Ratio: latest vs oldest shown revision (1.00 = no change, higher = slower/larger). ⚠ reg = at/above the regression threshold.

<details> <summary>Per-suite detail</summary>

Ratio summary

Most recent 1 revision, columns labelled by commit date.

AD gradients

Time

Benchmark3f63739bc73a64...
Convolved Gamma+LogNormal batched logpdf wrt params/Enzyme forward0.0449 ± 0.0031 ms
Convolved Gamma+LogNormal batched logpdf wrt params/Enzyme reverse0.391 ± 0.021 ms
Convolved Gamma+LogNormal batched logpdf wrt params/ForwardDiff0.0359 ± 0.00076 ms
Convolved Gamma+LogNormal batched logpdf wrt params/Mooncake forward0.186 ± 0.0085 ms
Convolved Gamma+LogNormal batched logpdf wrt params/Mooncake reverse0.484 ± 0.044 ms
Convolved Gamma+LogNormal batched logpdf wrt params/ReverseDiff (tape)1.8 ± 0.15 ms
Convolved Gamma+LogNormal batched logpdf wrt points/Enzyme forward0.0593 ± 0.0026 ms
Convolved Gamma+LogNormal batched logpdf wrt points/Enzyme reverse0.39 ± 0.023 ms
Convolved Gamma+LogNormal batched logpdf wrt points/ForwardDiff0.0458 ± 0.0028 ms
Convolved Gamma+LogNormal batched logpdf wrt points/Mooncake forward0.386 ± 0.016 ms
Convolved Gamma+LogNormal batched logpdf wrt points/Mooncake reverse0.473 ± 0.035 ms
Convolved Gamma+LogNormal batched logpdf wrt points/ReverseDiff (tape)1.96 ± 0.15 ms
Convolved Gamma+LogNormal numerical/Enzyme forward0.0518 ± 0.0019 ms
Convolved Gamma+LogNormal numerical/Enzyme reverse0.0899 ± 0.0057 ms
Convolved Gamma+LogNormal numerical/ForwardDiff0.0493 ± 0.00027 ms
Convolved Gamma+LogNormal numerical/Mooncake forward0.209 ± 0.01 ms
Convolved Gamma+LogNormal numerical/Mooncake reverse0.444 ± 0.033 ms
Convolved Gamma+LogNormal numerical/ReverseDiff (tape)1.97 ± 0.16 ms
Convolved Gamma+Normal mean+var moments/Enzyme forward5.45 ± 0.2 μs
Convolved Gamma+Normal mean+var moments/Enzyme reverse0.0389 ± 0.0065 μs
Convolved Gamma+Normal mean+var moments/ForwardDiff0.437 ± 0.033 μs
Convolved Gamma+Normal mean+var moments/Mooncake forward4.09 ± 0.61 μs
Convolved Gamma+Normal mean+var moments/Mooncake reverse3.66 ± 0.39 μs
Convolved Gamma+Normal mean+var moments/ReverseDiff (tape)2.15 ± 0.18 μs
Convolved LogNormal+Gamma numerical/Enzyme forward0.068 ± 0.0025 ms
Convolved LogNormal+Gamma numerical/Enzyme reverse0.107 ± 0.0071 ms
Convolved LogNormal+Gamma numerical/ForwardDiff0.0606 ± 0.0017 ms
Convolved LogNormal+Gamma numerical/Mooncake forward0.276 ± 0.013 ms
Convolved LogNormal+Gamma numerical/Mooncake reverse0.457 ± 0.032 ms
Convolved LogNormal+Gamma numerical/ReverseDiff (tape)1.87 ± 0.15 ms
Convolved Normal+Normal analytical/Enzyme forward6.25 ± 0.086 μs
Convolved Normal+Normal analytical/Enzyme reverse2.77 ± 0.11 μs
Convolved Normal+Normal analytical/ForwardDiff0.482 ± 0.061 μs
Convolved Normal+Normal analytical/Mooncake forward4.54 ± 0.47 μs
Convolved Normal+Normal analytical/Mooncake reverse20.4 ± 2.8 μs
Convolved Normal+Normal analytical/ReverseDiff (tape)13.4 ± 1 μs
Difference Gamma-LogNormal numerical wrt X/Enzyme forward0.0845 ± 0.003 ms
Difference Gamma-LogNormal numerical wrt X/Enzyme reverse0.149 ± 0.0073 ms
Difference Gamma-LogNormal numerical wrt X/ForwardDiff0.0855 ± 0.0025 ms
Difference Gamma-LogNormal numerical wrt X/Mooncake forward0.367 ± 0.013 ms
Difference Gamma-LogNormal numerical wrt X/Mooncake reverse0.647 ± 0.045 ms
Difference Gamma-LogNormal numerical wrt X/ReverseDiff (tape)3.39 ± 0.27 ms
Difference Gamma-Normal mean+var moments/Enzyme forward5.44 ± 0.16 μs
Difference Gamma-Normal mean+var moments/Enzyme reverse0.04 ± 0.0062 μs
Difference Gamma-Normal mean+var moments/ForwardDiff0.445 ± 0.043 μs
Difference Gamma-Normal mean+var moments/Mooncake forward4.08 ± 0.6 μs
Difference Gamma-Normal mean+var moments/Mooncake reverse3.75 ± 0.38 μs
Difference Gamma-Normal mean+var moments/ReverseDiff (tape)2.19 ± 0.23 μs
Difference LogNormal-Gamma numerical wrt Y/Enzyme forward0.107 ± 0.004 ms
Difference LogNormal-Gamma numerical wrt Y/Enzyme reverse0.167 ± 0.0076 ms
Difference LogNormal-Gamma numerical wrt Y/ForwardDiff0.103 ± 0.0029 ms
Difference LogNormal-Gamma numerical wrt Y/Mooncake forward0.468 ± 0.014 ms
Difference LogNormal-Gamma numerical wrt Y/Mooncake reverse0.689 ± 0.065 ms
Difference LogNormal-Gamma numerical wrt Y/ReverseDiff (tape)3.4 ± 0.27 ms
Difference Normal-Normal analytical/Enzyme forward6.07 ± 0.13 μs
Difference Normal-Normal analytical/Enzyme reverse2.63 ± 0.087 μs
Difference Normal-Normal analytical/ForwardDiff0.452 ± 0.049 μs
Difference Normal-Normal analytical/Mooncake forward4.69 ± 0.79 μs
Difference Normal-Normal analytical/Mooncake reverse20.4 ± 2.8 μs
Difference Normal-Normal analytical/ReverseDiff (tape)14.3 ± 1 μs
Product Gamma*LogNormal mean+var moments/Enzyme forward5.45 ± 1.1 μs
Product Gamma*LogNormal mean+var moments/Enzyme reverse0.0556 ± 0.0071 μs
Product Gamma*LogNormal mean+var moments/ForwardDiff0.477 ± 0.034 μs
Product Gamma*LogNormal mean+var moments/Mooncake forward4.4 ± 0.55 μs
Product Gamma*LogNormal mean+var moments/Mooncake reverse5.17 ± 0.86 μs
Product Gamma*LogNormal mean+var moments/ReverseDiff (tape)8.87 ± 0.57 μs
Product Gamma*LogNormal numerical wrt X/Enzyme forward0.0878 ± 0.0043 ms
Product Gamma*LogNormal numerical wrt X/Enzyme reverse0.155 ± 0.0069 ms
Product Gamma*LogNormal numerical wrt X/ForwardDiff0.0866 ± 0.00055 ms
Product Gamma*LogNormal numerical wrt X/Mooncake forward0.385 ± 0.014 ms
Product Gamma*LogNormal numerical wrt X/Mooncake reverse0.682 ± 0.04 ms
Product Gamma*LogNormal numerical wrt X/ReverseDiff (tape)3.85 ± 0.27 ms
Product LogNormal*Gamma numerical wrt Y/Enzyme forward0.107 ± 0.0036 ms
Product LogNormal*Gamma numerical wrt Y/Enzyme reverse0.18 ± 0.0088 ms
Product LogNormal*Gamma numerical wrt Y/ForwardDiff0.101 ± 0.003 ms
Product LogNormal*Gamma numerical wrt Y/Mooncake forward0.482 ± 0.013 ms
Product LogNormal*Gamma numerical wrt Y/Mooncake reverse0.717 ± 0.047 ms
Product LogNormal*Gamma numerical wrt Y/ReverseDiff (tape)3.88 ± 0.26 ms
Product LogNormal*LogNormal analytical/Enzyme forward6.13 ± 0.19 μs
Product LogNormal*LogNormal analytical/Enzyme reverse2.71 ± 0.11 μs
Product LogNormal*LogNormal analytical/ForwardDiff0.437 ± 0.052 μs
Product LogNormal*LogNormal analytical/Mooncake forward4.4 ± 0.4 μs
Product LogNormal*LogNormal analytical/Mooncake reverse13.1 ± 1.2 μs
Product LogNormal*LogNormal analytical/ReverseDiff (tape)17.3 ± 1.3 μs
Timeseries convolve discrete Poisson delay/Enzyme forward5.5 ± 0.21 μs
Timeseries convolve discrete Poisson delay/Enzyme reverse0.908 ± 0.066 μs
Timeseries convolve discrete Poisson delay/ForwardDiff0.701 ± 0.067 μs
Timeseries convolve discrete Poisson delay/Mooncake forward4.95 ± 0.66 μs
Timeseries convolve discrete Poisson delay/Mooncake reverse14 ± 1.1 μs
Timeseries convolve discrete Poisson delay/ReverseDiff (tape)24.3 ± 1.6 μs
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Enzyme forward0.426 ± 0.017 ms
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Enzyme reverse0.53 ± 0.02 ms
Timeseries convolve discretised Convolved Gamma+LogNormal delay/ForwardDiff0.383 ± 0.012 ms
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Mooncake forward1.79 ± 0.056 ms
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Mooncake reverse1.41 ± 0.072 ms
Timeseries convolve discretised Convolved Gamma+LogNormal delay/ReverseDiff (tape)6.99 ± 0.48 ms
Timeseries convolve discretised Gamma delay/Enzyme forward7.8 ± 0.27 μs
Timeseries convolve discretised Gamma delay/Enzyme reverse5.43 ± 0.22 μs
Timeseries convolve discretised Gamma delay/ForwardDiff2.4 ± 0.054 μs
Timeseries convolve discretised Gamma delay/Mooncake forward9.25 ± 1.5 μs
Timeseries convolve discretised Gamma delay/Mooncake reverse16.5 ± 2.1 μs
Timeseries convolve discretised Gamma delay/ReverseDiff (tape)28.8 ± 1.6 μs

Memory

Benchmark3f63739bc73a64...
Convolved Gamma+LogNormal batched logpdf wrt params/Enzyme forward0.088 k allocs: 11.6 kB
Convolved Gamma+LogNormal batched logpdf wrt params/Enzyme reverse1.35 k allocs: 0.168 MB
Convolved Gamma+LogNormal batched logpdf wrt params/ForwardDiff0.04 k allocs: 4.7 kB
Convolved Gamma+LogNormal batched logpdf wrt params/Mooncake forward0.264 k allocs: 27.2 kB
Convolved Gamma+LogNormal batched logpdf wrt params/Mooncake reverse2.08 k allocs: 0.666 MB
Convolved Gamma+LogNormal batched logpdf wrt params/ReverseDiff (tape)28.5 k allocs: 1.2 MB
Convolved Gamma+LogNormal batched logpdf wrt points/Enzyme forward0.151 k allocs: 22.6 kB
Convolved Gamma+LogNormal batched logpdf wrt points/Enzyme reverse1.36 k allocs: 0.169 MB
Convolved Gamma+LogNormal batched logpdf wrt points/ForwardDiff0.081 k allocs: 7.2 kB
Convolved Gamma+LogNormal batched logpdf wrt points/Mooncake forward0.519 k allocs: 0.0521 MB
Convolved Gamma+LogNormal batched logpdf wrt points/Mooncake reverse2.07 k allocs: 0.665 MB
Convolved Gamma+LogNormal batched logpdf wrt points/ReverseDiff (tape)0.0327 M allocs: 1.23 MB
Convolved Gamma+LogNormal numerical/Enzyme forward0.078 k allocs: 3.41 kB
Convolved Gamma+LogNormal numerical/Enzyme reverse0.147 k allocs: 18.8 kB
Convolved Gamma+LogNormal numerical/ForwardDiff21 allocs: 1.03 kB
Convolved Gamma+LogNormal numerical/Mooncake forward0.142 k allocs: 7.5 kB
Convolved Gamma+LogNormal numerical/Mooncake reverse2.35 k allocs: 0.639 MB
Convolved Gamma+LogNormal numerical/ReverseDiff (tape)31.1 k allocs: 1.29 MB
Convolved Gamma+Normal mean+var moments/Enzyme forward0.032 k allocs: 1.3 kB
Convolved Gamma+Normal mean+var moments/Enzyme reverse2 allocs: 0.0938 kB
Convolved Gamma+Normal mean+var moments/ForwardDiff7 allocs: 0.484 kB
Convolved Gamma+Normal mean+var moments/Mooncake forward0.07 k allocs: 3.33 kB
Convolved Gamma+Normal mean+var moments/Mooncake reverse0.078 k allocs: 3.71 kB
Convolved Gamma+Normal mean+var moments/ReverseDiff (tape)0.041 k allocs: 1.7 kB
Convolved LogNormal+Gamma numerical/Enzyme forward0.078 k allocs: 3.41 kB
Convolved LogNormal+Gamma numerical/Enzyme reverse0.147 k allocs: 18.8 kB
Convolved LogNormal+Gamma numerical/ForwardDiff21 allocs: 1.03 kB
Convolved LogNormal+Gamma numerical/Mooncake forward0.142 k allocs: 7.5 kB
Convolved LogNormal+Gamma numerical/Mooncake reverse2.37 k allocs: 0.633 MB
Convolved LogNormal+Gamma numerical/ReverseDiff (tape)30.2 k allocs: 1.26 MB
Convolved Normal+Normal analytical/Enzyme forward0.036 k allocs: 1.11 kB
Convolved Normal+Normal analytical/Enzyme reverse24 allocs: 1.03 kB
Convolved Normal+Normal analytical/ForwardDiff7 allocs: 0.266 kB
Convolved Normal+Normal analytical/Mooncake forward0.058 k allocs: 2.91 kB
Convolved Normal+Normal analytical/Mooncake reverse0.289 k allocs: 0.0329 MB
Convolved Normal+Normal analytical/ReverseDiff (tape)0.238 k allocs: 9.92 kB
Difference Gamma-LogNormal numerical wrt X/Enzyme forward0.096 k allocs: 8.14 kB
Difference Gamma-LogNormal numerical wrt X/Enzyme reverse0.159 k allocs: 23.1 kB
Difference Gamma-LogNormal numerical wrt X/ForwardDiff27 allocs: 2.61 kB
Difference Gamma-LogNormal numerical wrt X/Mooncake forward0.178 k allocs: 17 kB
Difference Gamma-LogNormal numerical wrt X/Mooncake reverse2.46 k allocs: 1.03 MB
Difference Gamma-LogNormal numerical wrt X/ReverseDiff (tape)0.0532 M allocs: 2.07 MB
Difference Gamma-Normal mean+var moments/Enzyme forward0.032 k allocs: 1.3 kB
Difference Gamma-Normal mean+var moments/Enzyme reverse2 allocs: 0.0938 kB
Difference Gamma-Normal mean+var moments/ForwardDiff7 allocs: 0.484 kB
Difference Gamma-Normal mean+var moments/Mooncake forward0.07 k allocs: 3.33 kB
Difference Gamma-Normal mean+var moments/Mooncake reverse0.078 k allocs: 3.71 kB
Difference Gamma-Normal mean+var moments/ReverseDiff (tape)0.041 k allocs: 1.7 kB
Difference LogNormal-Gamma numerical wrt Y/Enzyme forward0.096 k allocs: 8.14 kB
Difference LogNormal-Gamma numerical wrt Y/Enzyme reverse0.159 k allocs: 23.2 kB
Difference LogNormal-Gamma numerical wrt Y/ForwardDiff27 allocs: 2.61 kB
Difference LogNormal-Gamma numerical wrt Y/Mooncake forward0.178 k allocs: 17 kB
Difference LogNormal-Gamma numerical wrt Y/Mooncake reverse2.46 k allocs: 1.03 MB
Difference LogNormal-Gamma numerical wrt Y/ReverseDiff (tape)0.0532 M allocs: 2.07 MB
Difference Normal-Normal analytical/Enzyme forward0.036 k allocs: 1.11 kB
Difference Normal-Normal analytical/Enzyme reverse24 allocs: 1.02 kB
Difference Normal-Normal analytical/ForwardDiff7 allocs: 0.266 kB
Difference Normal-Normal analytical/Mooncake forward0.058 k allocs: 2.91 kB
Difference Normal-Normal analytical/Mooncake reverse0.289 k allocs: 0.0331 MB
Difference Normal-Normal analytical/ReverseDiff (tape)0.268 k allocs: 10.9 kB
Product Gamma*LogNormal mean+var moments/Enzyme forward0.032 k allocs: 1.3 kB
Product Gamma*LogNormal mean+var moments/Enzyme reverse2 allocs: 0.0938 kB
Product Gamma*LogNormal mean+var moments/ForwardDiff7 allocs: 0.484 kB
Product Gamma*LogNormal mean+var moments/Mooncake forward0.07 k allocs: 3.33 kB
Product Gamma*LogNormal mean+var moments/Mooncake reverse0.093 k allocs: 5.09 kB
Product Gamma*LogNormal mean+var moments/ReverseDiff (tape)0.127 k allocs: 5.25 kB
Product Gamma*LogNormal numerical wrt X/Enzyme forward0.096 k allocs: 8.14 kB
Product Gamma*LogNormal numerical wrt X/Enzyme reverse0.159 k allocs: 23.1 kB
Product Gamma*LogNormal numerical wrt X/ForwardDiff27 allocs: 2.61 kB
Product Gamma*LogNormal numerical wrt X/Mooncake forward0.178 k allocs: 17 kB
Product Gamma*LogNormal numerical wrt X/Mooncake reverse2.57 k allocs: 1.15 MB
Product Gamma*LogNormal numerical wrt X/ReverseDiff (tape)0.058 M allocs: 2.44 MB
Product LogNormal*Gamma numerical wrt Y/Enzyme forward0.096 k allocs: 8.14 kB
Product LogNormal*Gamma numerical wrt Y/Enzyme reverse0.159 k allocs: 23.2 kB
Product LogNormal*Gamma numerical wrt Y/ForwardDiff27 allocs: 2.61 kB
Product LogNormal*Gamma numerical wrt Y/Mooncake forward0.178 k allocs: 17 kB
Product LogNormal*Gamma numerical wrt Y/Mooncake reverse2.57 k allocs: 1.15 MB
Product LogNormal*Gamma numerical wrt Y/ReverseDiff (tape)0.058 M allocs: 2.44 MB
Product LogNormal*LogNormal analytical/Enzyme forward0.036 k allocs: 1.11 kB
Product LogNormal*LogNormal analytical/Enzyme reverse24 allocs: 1.02 kB
Product LogNormal*LogNormal analytical/ForwardDiff7 allocs: 0.266 kB
Product LogNormal*LogNormal analytical/Mooncake forward0.058 k allocs: 2.91 kB
Product LogNormal*LogNormal analytical/Mooncake reverse0.27 k allocs: 12.5 kB
Product LogNormal*LogNormal analytical/ReverseDiff (tape)0.298 k allocs: 12 kB
Timeseries convolve discrete Poisson delay/Enzyme forward0.033 k allocs: 1.2 kB
Timeseries convolve discrete Poisson delay/Enzyme reverse10 allocs: 0.5 kB
Timeseries convolve discrete Poisson delay/ForwardDiff11 allocs: 0.547 kB
Timeseries convolve discrete Poisson delay/Mooncake forward0.068 k allocs: 3.58 kB
Timeseries convolve discrete Poisson delay/Mooncake reverse0.198 k allocs: 16.1 kB
Timeseries convolve discrete Poisson delay/ReverseDiff (tape)0.462 k allocs: 18.2 kB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Enzyme forward0.247 k allocs: 13.6 kB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Enzyme reverse0.373 k allocs: 0.0585 MB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/ForwardDiff0.087 k allocs: 5.36 kB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Mooncake forward0.5 k allocs: 27.9 kB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/Mooncake reverse2.31 k allocs: 1.59 MB
Timeseries convolve discretised Convolved Gamma+LogNormal delay/ReverseDiff (tape)0.0943 M allocs: 3.69 MB
Timeseries convolve discretised Gamma delay/Enzyme forward0.04 k allocs: 1.62 kB
Timeseries convolve discretised Gamma delay/Enzyme reverse0.034 k allocs: 1.7 kB
Timeseries convolve discretised Gamma delay/ForwardDiff11 allocs: 0.703 kB
Timeseries convolve discretised Gamma delay/Mooncake forward0.082 k allocs: 4.23 kB
Timeseries convolve discretised Gamma delay/Mooncake reverse0.184 k allocs: 17 kB
Timeseries convolve discretised Gamma delay/ReverseDiff (tape)0.449 k allocs: 18 kB

Baseline

Time

Benchmark3f63739bc73a64...
Gamma/cdf2.57 ± 0.24 μs
Gamma/logpdf1.99 ± 0.26 μs
Normal/cdf1.22 ± 0.22 μs
Normal/logpdf0.784 ± 0.035 μs

Memory

Benchmark3f63739bc73a64...
Gamma/cdf2 allocs: 0.906 kB
Gamma/logpdf2 allocs: 0.906 kB
Normal/cdf2 allocs: 0.906 kB
Normal/logpdf2 allocs: 0.906 kB

Convolved

Time

Benchmark3f63739bc73a64...
analytic/cdf batched2.19 ± 0.3 μs
analytic/cdf scalar17 ± 0.46 ns
analytic/construction2.6 ± 0.019 ns
analytic/logpdf batched0.787 ± 0.032 μs
analytic/logpdf broadcast1.84 ± 0.25 μs
analytic/logpdf scalar16.4 ± 0.073 ns
analytic/mean2.25 ± 0.006 ns
analytic/pdf batched0.807 ± 0.038 μs
analytic/pdf scalar16.7 ± 0.063 ns
analytic/rand1.01 ± 0.042 μs
numeric/cdf batched0.579 ± 0.0065 ms
numeric/cdf scalar12.6 ± 0.06 μs
numeric/construction2.32 ± 0.013 ns
numeric/logpdf batched0.457 ± 0.0085 ms
numeric/logpdf broadcast0.795 ± 0.014 ms
numeric/logpdf scalar8.01 ± 0.69 μs
numeric/mean4.33 ± 0.29 ns
numeric/pdf batched0.453 ± 0.01 ms
numeric/pdf scalar7.34 ± 0.17 μs
numeric/rand2.22 ± 0.32 μs

Memory

Benchmark3f63739bc73a64...
analytic/cdf batched2 allocs: 0.906 kB
analytic/cdf scalar0 allocs: 0 B
analytic/construction0 allocs: 0 B
analytic/logpdf batched2 allocs: 0.906 kB
analytic/logpdf broadcast2 allocs: 0.906 kB
analytic/logpdf scalar0 allocs: 0 B
analytic/mean0 allocs: 0 B
analytic/pdf batched2 allocs: 0.906 kB
analytic/pdf scalar0 allocs: 0 B
analytic/rand2 allocs: 0.906 kB
numeric/cdf batched24 allocs: 8.32 kB
numeric/cdf scalar3 allocs: 0.172 kB
numeric/construction0 allocs: 0 B
numeric/logpdf batched25 allocs: 8.41 kB
numeric/logpdf broadcast0.338 k allocs: 29.8 kB
numeric/logpdf scalar3 allocs: 0.172 kB
numeric/mean0 allocs: 0 B
numeric/pdf batched23 allocs: 7.5 kB
numeric/pdf scalar3 allocs: 0.172 kB
numeric/rand2 allocs: 0.906 kB

Difference

Time

Benchmark3f63739bc73a64...
analytic/cdf broadcast2.77 ± 0.25 μs
analytic/cdf scalar9.09 ± 0.26 ns
analytic/construction2.32 ± 0.014 ns
analytic/logpdf broadcast1.22 ± 0.096 μs
analytic/logpdf scalar11.4 ± 0.039 ns
analytic/mean2.62 ± 0.24 ns
analytic/rand1.02 ± 0.059 μs
numeric/cdf broadcast1.12 ± 0.02 ms
numeric/cdf scalar15.9 ± 1.5 μs
numeric/construction2.82 ± 0.081 ns
numeric/logpdf broadcast0.984 ± 0.019 ms
numeric/logpdf scalar9.83 ± 0.12 μs
numeric/mean4.33 ± 0.29 ns
numeric/rand2.31 ± 0.29 μs

Memory

Benchmark3f63739bc73a64...
analytic/cdf broadcast2 allocs: 0.906 kB
analytic/cdf scalar0 allocs: 0 B
analytic/construction0 allocs: 0 B
analytic/logpdf broadcast2 allocs: 0.906 kB
analytic/logpdf scalar0 allocs: 0 B
analytic/mean0 allocs: 0 B
analytic/rand2 allocs: 0.906 kB
numeric/cdf broadcast0.402 k allocs: 0.0467 MB
numeric/cdf scalar4 allocs: 0.469 kB
numeric/construction0 allocs: 0 B
numeric/logpdf broadcast0.402 k allocs: 0.0467 MB
numeric/logpdf scalar4 allocs: 0.469 kB
numeric/mean0 allocs: 0 B
numeric/rand2 allocs: 0.906 kB

Product

Time

Benchmark3f63739bc73a64...
analytic/cdf broadcast3.87 ± 0.32 μs
analytic/cdf scalar18.1 ± 0.073 ns
analytic/construction2.6 ± 0.013 ns
analytic/logpdf broadcast1.46 ± 0.24 μs
analytic/logpdf scalar13.6 ± 0.38 ns
analytic/mean7.54 ± 0.57 ns
analytic/rand3.37 ± 0.28 μs
numeric/cdf broadcast1.23 ± 0.035 ms
numeric/cdf scalar15 ± 0.38 μs
numeric/construction2.6 ± 0.075 ns
numeric/logpdf broadcast1.05 ± 0.031 ms
numeric/logpdf scalar10.2 ± 0.29 μs
numeric/mean4.33 ± 0.14 ns
numeric/rand2.27 ± 0.28 μs

Memory

Benchmark3f63739bc73a64...
analytic/cdf broadcast2 allocs: 0.906 kB
analytic/cdf scalar0 allocs: 0 B
analytic/construction0 allocs: 0 B
analytic/logpdf broadcast2 allocs: 0.906 kB
analytic/logpdf scalar0 allocs: 0 B
analytic/mean0 allocs: 0 B
analytic/rand2 allocs: 0.906 kB
numeric/cdf broadcast0.402 k allocs: 0.0467 MB
numeric/cdf scalar4 allocs: 0.469 kB
numeric/construction0 allocs: 0 B
numeric/logpdf broadcast0.402 k allocs: 0.0467 MB
numeric/logpdf scalar4 allocs: 0.469 kB
numeric/mean0 allocs: 0 B
numeric/rand2 allocs: 0.906 kB

Quantile

Time

Benchmark3f63739bc73a64...
Convolved analytic/grid0.432 ± 0.055 ms
Convolved analytic/median17.1 ± 0.91 μs
Convolved numeric/median0.233 ± 0.011 ms
Difference numeric/median0.272 ± 0.012 ms
Product numeric/median0.318 ± 0.014 ms

Memory

Benchmark3f63739bc73a64...
Convolved analytic/grid5.71 k allocs: 0.324 MB
Convolved analytic/median0.265 k allocs: 15.6 kB
Convolved numeric/median0.339 k allocs: 19.6 kB
Difference numeric/median0.302 k allocs: 21.8 kB
Product numeric/median0.381 k allocs: 27 kB

Timeseries

Time

Benchmark3f63739bc73a64...
Convolved delay0.631 ± 0.018 ms
Gamma delay1.33 ± 0.12 μs
Poisson delay1.12 ± 0.14 μs

Memory

Benchmark3f63739bc73a64...
Convolved delay0.226 k allocs: 24.1 kB
Gamma delay4 allocs: 0.594 kB
Poisson delay4 allocs: 0.594 kB

time_to_load

Time

Benchmark3f63739bc73a64...
time_to_load0.782 ± 0.025 s

Memory

Benchmark3f63739bc73a64...
time_to_load0.149 k allocs: 11.2 kB

Per-benchmark timelines

<details> <summary>Show 9 plots</summary>

plot_ConvolvedDistributions_1.pngplot_ConvolvedDistributions_2.pngplot_ConvolvedDistributions_3.pngplot_ConvolvedDistributions_4.pngplot_ConvolvedDistributions_5.pngplot_ConvolvedDistributions_6.pngplot_ConvolvedDistributions_7.pngplot_ConvolvedDistributions_8.pngplot_ConvolvedDistributions_9.png

</details>

</details>