Skip to content

Performance over time

How EpiAwareADTools's benchmark suites have moved across recent revisions: an overall summary across the package first, then one section per suite.

Summary

Each benchmark suite's headline timing across recent revisions.

SuiteMedian ratioTrendStatus
Baseline1.0ok
Hooks0.99ok
AD gradientsn/an/a
time_to_load1.0ok

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

Tables below show the most recent 5 revisions, columns labelled by commit date.

Baseline

Time

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
Beta/ccdf12.9 ± 3.3 μs12.9 ± 2.8 μs12.9 ± 3.2 μs11.6 ± 3.3 μs12.9 ± 4 μs
Beta/cdf12.9 ± 3.4 μs12.9 ± 3.2 μs12.9 ± 3.3 μs11.5 ± 3.2 μs12.8 ± 3.3 μs
Beta/logccdf14.6 ± 4 μs14.5 ± 3.3 μs14.6 ± 3.4 μs13 ± 3.3 μs14.5 ± 3.3 μs
Beta/logcdf14.7 ± 3.8 μs14.6 ± 2.6 μs14.7 ± 3.2 μs13.3 ± 3.2 μs14.6 ± 3.3 μs
Beta/pdf5.08 ± 0.27 μs5.05 ± 0.19 μs5.15 ± 0.18 μs5.08 ± 0.29 μs5.08 ± 0.4 μs
Gamma/ccdf2.6 ± 0.22 μs2.6 ± 0.25 μs2.6 ± 0.23 μs2.54 ± 0.23 μs2.59 ± 0.24 μs
Gamma/cdf2.59 ± 0.23 μs2.6 ± 0.26 μs2.59 ± 0.21 μs2.6 ± 0.32 μs2.59 ± 0.23 μs
Gamma/logccdf4.3 ± 0.25 μs4.28 ± 0.16 μs4.29 ± 0.25 μs4.3 ± 0.3 μs4.29 ± 0.31 μs
Gamma/logcdf4.35 ± 0.28 μs4.35 ± 0.38 μs4.25 ± 0.16 μs4.28 ± 0.29 μs4.32 ± 0.32 μs
Gamma/pdf2.77 ± 0.27 μs2.79 ± 0.27 μs2.78 ± 0.27 μs2.77 ± 0.26 μs2.78 ± 0.32 μs

Memory

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
Beta/ccdf0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/cdf0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/logccdf0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/logcdf0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/pdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/ccdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/cdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/logccdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/logcdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/pdf2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB

Hooks

Time

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
Beta/ccdf_ad_safe12.9 ± 3.3 μs12.7 ± 3.3 μs13 ± 3.1 μs11.4 ± 3.2 μs12.9 ± 3.1 μs
Beta/cdf_ad_safe12.9 ± 3 μs12.8 ± 3.1 μs12.9 ± 3.9 μs11 ± 3.2 μs13.1 ± 3.6 μs
Beta/logccdf_ad_safe14.5 ± 3.5 μs14.4 ± 2.6 μs14.6 ± 2.9 μs12.5 ± 3.2 μs14.5 ± 3.4 μs
Beta/logcdf_ad_safe14.3 ± 3.9 μs14.3 ± 3.5 μs14.3 ± 3.2 μs14.3 ± 3.9 μs14.3 ± 3.4 μs
Beta/pdf_ad_safe5.13 ± 0.27 μs5.13 ± 0.2 μs5.27 ± 0.41 μs5.15 ± 0.32 μs5.1 ± 0.27 μs
Gamma/ccdf_ad_safe2.63 ± 0.23 μs2.56 ± 0.22 μs2.63 ± 0.23 μs2.57 ± 0.22 μs2.57 ± 0.23 μs
Gamma/cdf_ad_safe2.5 ± 0.22 μs2.58 ± 0.23 μs2.53 ± 0.23 μs2.51 ± 0.22 μs2.57 ± 0.24 μs
Gamma/logccdf_ad_safe4.42 ± 0.25 μs4.48 ± 0.49 μs4.28 ± 0.29 μs4.27 ± 0.3 μs4.42 ± 0.28 μs
Gamma/logcdf_ad_safe4.13 ± 0.26 μs4.11 ± 0.24 μs4.25 ± 0.64 μs4.11 ± 0.25 μs4.08 ± 0.28 μs
Gamma/pdf_ad_safe2.7 ± 0.25 μs2.77 ± 0.27 μs2.73 ± 0.26 μs2.71 ± 0.26 μs2.76 ± 0.25 μs
Normal (fall-through)/cdf_ad_safe1.34 ± 0.29 μs1.31 ± 0.15 μs1.29 ± 0.21 μs1.23 ± 0.22 μs1.2 ± 0.22 μs
Normal (fall-through)/logcdf_ad_safe3.08 ± 0.26 μs3.14 ± 0.27 μs3.24 ± 0.27 μs3.07 ± 0.29 μs3.11 ± 0.29 μs
Normal (fall-through)/pdf_ad_safe0.578 ± 0.27 μs0.595 ± 0.25 μs0.578 ± 0.27 μs0.561 ± 0.26 μs0.783 ± 0.024 μs
_beta_cdf/broadcast12.9 ± 3.7 μs12.8 ± 2.9 μs12.9 ± 3.3 μs12.9 ± 3.8 μs12.8 ± 4 μs
_beta_cdf/scalar30.6 ± 0.16 ns30.6 ± 0.16 ns30.6 ± 0.19 ns30.6 ± 2.9 ns30.7 ± 0.29 ns
_gamma_cdf/broadcast2.56 ± 0.24 μs2.56 ± 0.23 μs2.56 ± 0.22 μs2.56 ± 0.31 μs2.56 ± 0.22 μs
_gamma_cdf/scalar1.72 ± 0.16 ns1.17 ± 0.11 ns1.16 ± 0.004 ns1.17 ± 0.11 ns1.16 ± 0.012 ns

Memory

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
Beta/ccdf_ad_safe0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/cdf_ad_safe0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/logccdf_ad_safe0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/logcdf_ad_safe0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
Beta/pdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/ccdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/cdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/logccdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/logcdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Gamma/pdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Normal (fall-through)/cdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Normal (fall-through)/logcdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
Normal (fall-through)/pdf_ad_safe2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
_beta_cdf/broadcast0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB0.09 k allocs: 14 kB
_beta_cdf/scalar0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B
_gamma_cdf/broadcast2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB2 allocs: 0.906 kB
_gamma_cdf/scalar0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B0 allocs: 0 B

AD gradients

Time

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
logcdf_ad_safe TDist/ReverseDiff (tape)13 ± 0.77 μs
cdf_ad_safe Gamma/Mooncake forward6.07 ± 0.48 μs
cdf_ad_safe Beta/Enzyme reverse5.5 ± 0.16 μs
logccdf_ad_safe LogNormal/ReverseDiff (tape)8.36 ± 1.3 μs
logpdf Gamma at shape 1/Mooncake reverse21.2 ± 3.2 μs
_t_cdf direct/ForwardDiff0.859 ± 0.073 μs
cdf_ad_safe GeneralizedGamma/ReverseDiff (tape)10.1 ± 0.7 μs
fixed_draw pinned realisation/ReverseDiff (tape)0.763 ± 0.18 μs
logpdf Gamma at shape 1/Enzyme reverse2.67 ± 0.18 μs
cdf_ad_safe LogNormal/Enzyme forward6.26 ± 0.13 μs
cdf_ad_safe LogNormal/ForwardDiff0.473 ± 0.053 μs
logccdf_ad_safe TDist/ReverseDiff (compiled)13.1 ± 1.2 μs
nondifferentiable array argument/ForwardDiff0.397 ± 0.065 μs
cdf_ad_safe Gamma/Enzyme forward7.26 ± 0.1 μs
primal_distribution left-truncated window/ForwardDiff0.551 ± 0.06 μs
logccdf_ad_safe location-scale TDist/ReverseDiff (compiled)21.5 ± 1.4 μs
primal_distribution left-truncated window/ReverseDiff (tape)2.73 ± 0.21 μs
ccdf_ad_safe LogNormal/Mooncake reverse16.6 ± 3.5 μs
cdf_ad_safe location-scale TDist/Mooncake reverse19.1 ± 1.7 μs
logcdf GeneralizedGamma/ForwardDiff2.01 ± 0.034 μs
logcdf_ad_safe Weibull/Enzyme forward6.31 ± 0.58 μs
ccdf_ad_safe LogNormal/Mooncake forward4.82 ± 0.49 μs
logccdf_ad_safe location-scale TDist/Enzyme forward8.85 ± 0.78 μs
ccdf_ad_safe location-scale TDist/ReverseDiff (compiled)21.9 ± 1.5 μs
logcdf_ad_safe LogNormal/Enzyme reverse2.71 ± 0.11 μs
_beta_cdf direct/ForwardDiff0.74 ± 0.02 μs
ad_eltype seeds a differentiable buffer/Mooncake forward4.24 ± 0.54 μs
logcdf_ad_safe Beta/Enzyme forward8.96 ± 0.16 μs
pdf_ad_safe Beta/Enzyme reverse5.71 ± 0.44 μs
ccdf_ad_safe location-scale TDist/Mooncake forward11.9 ± 0.27 μs
ccdf_ad_safe Gamma/Enzyme forward7.29 ± 0.66 μs
ccdf_ad_safe Beta/Mooncake forward9.96 ± 0.89 μs
nondifferentiable array argument/Mooncake reverse3.48 ± 0.31 μs
primal_distribution left-truncated window/Mooncake forward6.16 ± 0.7 μs
cdf_ad_safe TDist/Mooncake reverse17.9 ± 3.8 μs
_beta_cdf direct/Mooncake forward5.17 ± 0.48 μs
pdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)23 ± 2 μs
ccdf_ad_safe LogNormal/Enzyme reverse1.47 ± 0.031 μs
logcdf_ad_safe Gamma/ReverseDiff (tape)4.21 ± 0.4 μs
ccdf_ad_safe LogNormal/ForwardDiff0.486 ± 0.059 μs
pdf_ad_safe Beta/ReverseDiff (compiled)15.5 ± 1.1 μs
fixed_draw pinned realisation/Enzyme reverse0.0326 ± 0.021 μs
logccdf_ad_safe location-scale TDist/Mooncake reverse18.8 ± 1.4 μs
cdf_ad_safe Weibull/ReverseDiff (compiled)5.63 ± 0.77 μs
logcdf_ad_safe TDist/Enzyme reverse5.22 ± 0.16 μs
_t_cdf direct/Mooncake forward5.29 ± 0.48 μs
ccdf_ad_safe location-scale TDist/Enzyme forward8.77 ± 0.14 μs
ad_eltype seeds a differentiable buffer/Enzyme forward5.42 ± 0.18 μs
logcdf_ad_safe TDist/ReverseDiff (compiled)13.7 ± 1.4 μs
nondifferentiable wrapped term/Enzyme forward5.34 ± 0.14 μs
primal_distribution truncated window/Enzyme forward5.49 ± 0.065 μs
logccdf_ad_safe Weibull/Enzyme forward6.2 ± 0.14 μs
logcdf_ad_safe LogNormal/Enzyme forward6.26 ± 0.082 μs
logcdf_ad_safe Weibull/ReverseDiff (compiled)5.08 ± 0.65 μs
logccdf_ad_safe Gamma/ReverseDiff (tape)4.21 ± 0.39 μs
logccdf_ad_safe TDist/ReverseDiff (tape)13.7 ± 1.3 μs
pdf_ad_safe Gamma/ReverseDiff (tape)12.8 ± 1.2 μs
logccdf_ad_safe Beta/ReverseDiff (compiled)6.61 ± 0.39 μs
ccdf_ad_safe Weibull/Mooncake reverse9.36 ± 0.66 μs
cdf_ad_safe location-scale TDist/Enzyme forward8.85 ± 0.82 μs
fixed_draw pinned realisation/Mooncake reverse3.41 ± 0.19 μs
logcdf GeneralizedGamma/Enzyme forward8.71 ± 0.16 μs
ccdf_ad_safe GeneralizedGamma/Enzyme forward8.63 ± 0.11 μs
cdf_ad_safe Beta/Mooncake forward9.84 ± 0.48 μs
logcdf GeneralizedGamma/ReverseDiff (tape)11.5 ± 1.1 μs
pdf_ad_safe Weibull/Enzyme reverse2.74 ± 0.11 μs
primal_distribution truncated window/ReverseDiff (tape)3.18 ± 0.39 μs
fixed_draw pinned realisation/ReverseDiff (compiled)0.763 ± 0.18 μs
logccdf_ad_safe Gamma/ForwardDiff1.27 ± 0.12 μs
ccdf_ad_safe Beta/Enzyme forward8.91 ± 0.16 μs
pdf_ad_safe Beta/ForwardDiff0.868 ± 0.017 μs
cdf_ad_safe LogNormal/Mooncake reverse16.9 ± 3.9 μs
logcdf_ad_safe LogNormal/ReverseDiff (compiled)9.09 ± 0.69 μs
logccdf_ad_safe Weibull/ReverseDiff (tape)4.55 ± 0.75 μs
pdf_ad_safe Weibull/ForwardDiff0.538 ± 0.053 μs
logsumexp_stream geometric/Mooncake reverse11.6 ± 1.3 μs
cdf_ad_safe Gamma/ReverseDiff (compiled)3.84 ± 0.25 μs
ccdf_ad_safe Weibull/Enzyme forward6.24 ± 0.084 μs
_gamma_cdf direct/Mooncake forward5.05 ± 0.51 μs
cdf_ad_safe Gamma/ReverseDiff (tape)3.85 ± 0.28 μs
_gamma_cdf direct/ReverseDiff (compiled)0.765 ± 0.14 μs
ccdf_ad_safe GeneralizedGamma/ForwardDiff1.99 ± 0.035 μs
cdf_ad_safe GeneralizedGamma/Enzyme reverse4.1 ± 0.067 μs
logccdf_ad_safe Weibull/ReverseDiff (compiled)4.72 ± 0.75 μs
logccdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)10.7 ± 1 μs
ccdf_ad_safe TDist/Mooncake forward7.05 ± 0.64 μs
cdf_ad_safe GeneralizedGamma/ForwardDiff2.01 ± 0.037 μs
pdf_ad_safe Beta/Mooncake reverse22.9 ± 3.5 μs
ccdf_ad_safe Weibull/ForwardDiff0.478 ± 0.056 μs
_gamma_cdf direct/Enzyme reverse0.235 ± 0.018 μs
_t_cdf direct/ReverseDiff (tape)2.66 ± 0.17 μs
logccdf_ad_safe Weibull/ForwardDiff0.509 ± 0.059 μs
pdf_ad_safe GeneralizedGamma/Mooncake reverse16.1 ± 1.2 μs
logcdf_ad_safe Beta/ForwardDiff2.78 ± 0.25 μs
nondifferentiable array argument/ReverseDiff (tape)0.835 ± 0.19 μs
cdf_ad_safe Weibull/Enzyme reverse1.35 ± 0.076 μs
pdf_ad_safe Gamma/ForwardDiff0.606 ± 0.053 μs
pdf_ad_safe Weibull/ReverseDiff (tape)13.3 ± 1.2 μs
nondifferentiable array argument/Enzyme forward5.38 ± 0.48 μs
logcdf_ad_safe GeneralizedGamma/Enzyme forward8.74 ± 0.81 μs
_gamma_cdf direct/ForwardDiff0.597 ± 0.032 μs
logccdf_ad_safe TDist/ForwardDiff2.12 ± 0.2 μs
ccdf_ad_safe Weibull/Enzyme reverse1.54 ± 0.2 μs
logcdf_ad_safe location-scale TDist/ReverseDiff (tape)21.1 ± 1.3 μs
_beta_cdf direct/Enzyme forward5.75 ± 0.098 μs
_beta_cdf direct/Mooncake reverse4.22 ± 0.12 μs
cdf_ad_safe Weibull/Enzyme forward6.32 ± 0.58 μs
logccdf_ad_safe GeneralizedGamma/Mooncake reverse14.9 ± 1.4 μs
logccdf_ad_safe GeneralizedGamma/Enzyme reverse4.31 ± 0.4 μs
logccdf_ad_safe Beta/Mooncake forward10.2 ± 0.35 μs
pdf_ad_safe LogNormal/Mooncake forward4.73 ± 0.48 μs
logcdf_ad_safe TDist/ForwardDiff2.1 ± 0.025 μs
logcdf GeneralizedGamma/Enzyme reverse4.16 ± 0.083 μs
logsumexp_stream geometric/Mooncake forward6.23 ± 0.21 μs
pdf_ad_safe Beta/Mooncake forward6.16 ± 0.38 μs
logcdf_ad_safe location-scale TDist/ForwardDiff2.63 ± 0.036 μs
cdf_ad_safe Gamma/Mooncake reverse17 ± 2.4 μs
pdf_ad_safe LogNormal/Enzyme forward6.21 ± 0.58 μs
logccdf_ad_safe TDist/Mooncake reverse20.3 ± 4.7 μs
pdf_ad_safe Beta/Enzyme forward6.79 ± 0.095 μs
logcdf_ad_safe location-scale TDist/Mooncake forward12.1 ± 0.25 μs
logccdf_ad_safe Beta/ReverseDiff (tape)6.6 ± 0.31 μs
ccdf_ad_safe location-scale TDist/ReverseDiff (tape)21.9 ± 1.3 μs
ccdf_ad_safe Beta/Enzyme reverse5.36 ± 0.2 μs
pdf_ad_safe GeneralizedGamma/ReverseDiff (tape)24 ± 2.5 μs
pdf_ad_safe GeneralizedGamma/Enzyme reverse2.52 ± 0.11 μs
logcdf_ad_safe Beta/Enzyme reverse5.48 ± 0.91 μs
logcdf_ad_safe GeneralizedGamma/Mooncake forward12.6 ± 0.98 μs
pdf_ad_safe Gamma/Mooncake reverse21.5 ± 3.5 μs
ccdf_ad_safe Weibull/Mooncake forward4.7 ± 0.44 μs
nondifferentiable captured value/Enzyme reverse0.0328 ± 0.021 μs
ccdf_ad_safe Beta/Mooncake reverse21.1 ± 3.5 μs
ccdf_ad_safe Gamma/Mooncake reverse17 ± 2.6 μs
logccdf_ad_safe GeneralizedGamma/Mooncake forward12 ± 0.41 μs
cdf_ad_safe LogNormal/Mooncake forward5.08 ± 0.8 μs
logccdf_ad_safe LogNormal/ReverseDiff (compiled)8.3 ± 1.3 μs
nondifferentiable array argument/ReverseDiff (compiled)0.87 ± 0.2 μs
logpdf Gamma at shape 1/ForwardDiff0.531 ± 0.052 μs
ccdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)11.9 ± 0.71 μs
logcdf_ad_safe Gamma/Enzyme forward7.24 ± 0.18 μs
logsumexp_stream geometric/Enzyme forward6.21 ± 0.099 μs
ccdf_ad_safe TDist/ReverseDiff (tape)13 ± 0.89 μs
ad_eltype seeds a differentiable buffer/ForwardDiff0.395 ± 0.076 μs
_t_cdf direct/Enzyme forward6.34 ± 0.55 μs
logccdf_ad_safe GeneralizedGamma/Enzyme forward8.92 ± 0.84 μs
cdf_ad_safe Beta/Enzyme forward8.95 ± 0.2 μs
ccdf_ad_safe GeneralizedGamma/Enzyme reverse4.09 ± 0.063 μs
logccdf_ad_safe LogNormal/Enzyme reverse2.97 ± 0.27 μs
logcdf_ad_safe LogNormal/ReverseDiff (tape)9.1 ± 0.72 μs
pdf_ad_safe Gamma/Mooncake forward5.07 ± 0.54 μs
logcdf_ad_safe LogNormal/Mooncake forward5.02 ± 0.48 μs
nondifferentiable array argument/Enzyme reverse0.0832 ± 0.036 μs
logcdf_ad_safe Gamma/Enzyme reverse3.62 ± 0.12 μs
nondifferentiable wrapped term/Mooncake forward4.03 ± 0.62 μs
logccdf_ad_safe Beta/ForwardDiff2.8 ± 0.032 μs
pdf_ad_safe Weibull/Mooncake forward5.1 ± 0.49 μs
pdf_ad_safe LogNormal/Mooncake reverse17.5 ± 4.4 μs
_beta_cdf direct/ReverseDiff (compiled)0.939 ± 0.15 μs
nondifferentiable wrapped term/ForwardDiff0.343 ± 0.055 μs
pdf_ad_safe Weibull/Enzyme forward6.26 ± 0.12 μs
nondifferentiable wrapped term/ReverseDiff (compiled)0.773 ± 0.19 μs
logcdf_ad_safe Beta/ReverseDiff (compiled)6.41 ± 0.57 μs
logccdf_ad_safe Gamma/Mooncake reverse17.4 ± 2.9 μs
ccdf_ad_safe TDist/ReverseDiff (compiled)13.9 ± 1.3 μs
ccdf_ad_safe Beta/ReverseDiff (tape)7.99 ± 0.73 μs
logcdf_ad_safe Beta/ReverseDiff (tape)6.46 ± 0.59 μs
pdf_ad_safe Beta/ReverseDiff (tape)15.3 ± 0.85 μs
cdf_ad_safe GeneralizedGamma/Mooncake reverse13.5 ± 0.6 μs
logcdf_ad_safe Weibull/Mooncake forward4.85 ± 0.56 μs
pdf_ad_safe Gamma/Enzyme forward6.37 ± 0.15 μs
pdf_ad_safe Gamma/ReverseDiff (compiled)12.5 ± 1 μs
ccdf_ad_safe GeneralizedGamma/ReverseDiff (tape)12 ± 0.79 μs
nondifferentiable captured value/Mooncake reverse3.27 ± 0.13 μs
logcdf_ad_safe Gamma/Mooncake reverse17.2 ± 2.7 μs
logcdf_ad_safe GeneralizedGamma/ForwardDiff2.19 ± 0.2 μs
logccdf_ad_safe Weibull/Mooncake forward4.41 ± 0.43 μs
cdf_ad_safe Weibull/ForwardDiff0.488 ± 0.052 μs
logccdf_ad_safe Gamma/Enzyme forward7.47 ± 0.13 μs
ccdf_ad_safe Beta/ForwardDiff2.73 ± 0.25 μs
logsumexp_stream geometric/Enzyme reverse1.52 ± 0.017 μs
logsumexp_stream geometric/ForwardDiff0.936 ± 0.014 μs
logccdf_ad_safe Beta/Enzyme forward8.97 ± 0.18 μs
cdf_ad_safe TDist/Mooncake forward6.47 ± 0.16 μs
logccdf_ad_safe LogNormal/Mooncake reverse12.2 ± 0.75 μs
logcdf_ad_safe Weibull/ForwardDiff0.523 ± 0.053 μs
fixed_draw pinned realisation/ForwardDiff0.344 ± 0.055 μs
cdf_ad_safe location-scale TDist/Mooncake forward12 ± 0.48 μs
logcdf_ad_safe TDist/Mooncake forward6.69 ± 0.54 μs
_beta_cdf direct/ReverseDiff (tape)0.933 ± 0.14 μs
logcdf_ad_safe Gamma/ReverseDiff (compiled)4.19 ± 0.43 μs
fixed_draw pinned realisation/Mooncake forward3.93 ± 0.54 μs
cdf_ad_safe Beta/ReverseDiff (compiled)6.07 ± 0.29 μs
nondifferentiable captured value/ReverseDiff (compiled)1.05 ± 0.21 μs
logpdf Gamma at shape 1/ReverseDiff (tape)12.3 ± 1.3 μs
cdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)10.2 ± 0.84 μs
pdf_ad_safe LogNormal/ReverseDiff (tape)10.1 ± 1.1 μs
_gamma_cdf direct/ReverseDiff (tape)0.769 ± 0.13 μs
cdf_ad_safe LogNormal/ReverseDiff (tape)7.48 ± 0.79 μs
logsumexp_stream geometric/ReverseDiff (tape)0.0628 ± 0.008 ms
logcdf_ad_safe GeneralizedGamma/Mooncake reverse13.9 ± 1.3 μs
pdf_ad_safe LogNormal/Enzyme reverse2.59 ± 0.11 μs
logcdf_ad_safe TDist/Enzyme forward7.88 ± 0.21 μs
logccdf_ad_safe TDist/Mooncake forward6.69 ± 0.41 μs
logcdf_ad_safe Weibull/Mooncake reverse20.5 ± 3.3 μs
logcdf_ad_safe Weibull/Enzyme reverse2.85 ± 0.25 μs
primal_distribution truncated window/Enzyme reverse0.193 ± 0.022 μs
logcdf_ad_safe location-scale TDist/Enzyme forward8.84 ± 0.1 μs
cdf_ad_safe Beta/Mooncake reverse20.6 ± 3 μs
logccdf_ad_safe location-scale TDist/Mooncake forward12.2 ± 1.1 μs
ccdf_ad_safe LogNormal/Enzyme forward6.23 ± 0.12 μs
logccdf_ad_safe location-scale TDist/Enzyme reverse4.34 ± 0.43 μs
cdf_ad_safe TDist/Enzyme forward7.84 ± 0.1 μs
cdf_ad_safe Weibull/Mooncake reverse9.37 ± 0.59 μs
ccdf_ad_safe location-scale TDist/Enzyme reverse4.34 ± 0.17 μs
cdf_ad_safe TDist/ReverseDiff (compiled)13 ± 0.71 μs
cdf_ad_safe Weibull/ReverseDiff (tape)5.57 ± 0.86 μs
logcdf_ad_safe GeneralizedGamma/Enzyme reverse4.13 ± 0.062 μs
nondifferentiable captured value/ForwardDiff0.346 ± 0.06 μs
pdf_ad_safe GeneralizedGamma/ForwardDiff1.1 ± 0.029 μs
ccdf_ad_safe Weibull/ReverseDiff (compiled)4.99 ± 0.79 μs
ad_eltype seeds a differentiable buffer/ReverseDiff (compiled)4.47 ± 0.78 μs
cdf_ad_safe TDist/ForwardDiff2.01 ± 0.022 μs
logcdf_ad_safe LogNormal/Mooncake reverse12.7 ± 0.9 μs
logccdf_ad_safe Beta/Mooncake reverse20.8 ± 3.1 μs
logcdf_ad_safe location-scale TDist/Enzyme reverse4.27 ± 0.37 μs
ccdf_ad_safe Gamma/ReverseDiff (tape)5.25 ± 0.29 μs
_t_cdf direct/ReverseDiff (compiled)2.79 ± 0.25 μs
fixed_draw pinned realisation/Enzyme forward5.36 ± 0.085 μs
pdf_ad_safe Weibull/Mooncake reverse21.8 ± 3.3 μs
ccdf_ad_safe TDist/Enzyme forward7.81 ± 0.073 μs
logccdf_ad_safe GeneralizedGamma/ReverseDiff (tape)10.9 ± 1.1 μs
ccdf_ad_safe LogNormal/ReverseDiff (tape)6.93 ± 0.62 μs
cdf_ad_safe LogNormal/Enzyme reverse1.5 ± 0.13 μs
cdf_ad_safe GeneralizedGamma/Enzyme forward8.62 ± 0.11 μs
logcdf_ad_safe location-scale TDist/ReverseDiff (compiled)21 ± 1.2 μs
pdf_ad_safe LogNormal/ReverseDiff (compiled)10.2 ± 1 μs
logcdf_ad_safe Beta/Mooncake reverse20.9 ± 3.3 μs
logcdf GeneralizedGamma/ReverseDiff (compiled)10.8 ± 0.71 μs
primal_distribution truncated window/Mooncake forward4.8 ± 0.48 μs
ccdf_ad_safe GeneralizedGamma/Mooncake reverse13.7 ± 0.69 μs
logcdf_ad_safe location-scale TDist/Mooncake reverse18.4 ± 1.3 μs
ccdf_ad_safe Gamma/ForwardDiff1.16 ± 0.018 μs
logcdf_ad_safe Gamma/Mooncake forward6.2 ± 0.2 μs
logccdf_ad_safe Gamma/Mooncake forward6.5 ± 0.53 μs
cdf_ad_safe LogNormal/ReverseDiff (compiled)7.09 ± 0.65 μs
logcdf_ad_safe LogNormal/ForwardDiff0.492 ± 0.053 μs
logpdf Gamma at shape 1/Mooncake forward4.66 ± 0.46 μs
_beta_cdf direct/Enzyme reverse0.323 ± 0.0068 μs
logsumexp_stream geometric/ReverseDiff (compiled)0.0631 ± 0.008 ms
cdf_ad_safe location-scale TDist/ReverseDiff (compiled)21.5 ± 2.1 μs
logcdf GeneralizedGamma/Mooncake reverse14.7 ± 1.3 μs
primal_distribution truncated window/ForwardDiff0.555 ± 0.056 μs
ccdf_ad_safe location-scale TDist/Mooncake reverse18.2 ± 1 μs
cdf_ad_safe location-scale TDist/ForwardDiff2.56 ± 0.23 μs
ad_eltype seeds a differentiable buffer/Enzyme reverse0.0966 ± 0.014 μs
_gamma_cdf direct/Enzyme forward5.62 ± 0.1 μs
logccdf_ad_safe LogNormal/ForwardDiff0.551 ± 0.057 μs
logccdf_ad_safe Weibull/Enzyme reverse1.25 ± 0.039 μs
ccdf_ad_safe Gamma/Enzyme reverse3.53 ± 0.11 μs
pdf_ad_safe GeneralizedGamma/Mooncake forward8.13 ± 0.36 μs
logccdf_ad_safe Gamma/Enzyme reverse3.79 ± 0.35 μs
logccdf_ad_safe Beta/Enzyme reverse5.45 ± 0.17 μs
logccdf_ad_safe Weibull/Mooncake reverse15.6 ± 2.4 μs
logcdf_ad_safe Beta/Mooncake forward10.5 ± 1.1 μs
ccdf_ad_safe Weibull/ReverseDiff (tape)4.97 ± 0.78 μs
logccdf_ad_safe TDist/Enzyme reverse5.25 ± 0.43 μs
cdf_ad_safe Gamma/Enzyme reverse3.56 ± 0.15 μs
logccdf_ad_safe location-scale TDist/ReverseDiff (tape)22 ± 2.1 μs
logcdf_ad_safe GeneralizedGamma/ReverseDiff (tape)10.8 ± 0.87 μs
nondifferentiable captured value/ReverseDiff (tape)1.06 ± 0.23 μs
ccdf_ad_safe TDist/Mooncake reverse18.2 ± 3.3 μs
cdf_ad_safe Beta/ReverseDiff (tape)6.1 ± 0.26 μs
logccdf_ad_safe Gamma/ReverseDiff (compiled)4.03 ± 0.24 μs
logcdf GeneralizedGamma/Mooncake forward11.5 ± 0.27 μs
ccdf_ad_safe LogNormal/ReverseDiff (compiled)6.95 ± 0.69 μs
ccdf_ad_safe Beta/ReverseDiff (compiled)7.62 ± 0.33 μs
logccdf_ad_safe LogNormal/Mooncake forward5.42 ± 0.55 μs
ccdf_ad_safe Gamma/Mooncake forward6.29 ± 0.6 μs
logcdf_ad_safe Weibull/ReverseDiff (tape)4.97 ± 0.6 μs
nondifferentiable array argument/Mooncake forward4.1 ± 0.63 μs
ccdf_ad_safe location-scale TDist/ForwardDiff2.56 ± 0.037 μs
primal_distribution truncated window/Mooncake reverse14.1 ± 1 μs
_t_cdf direct/Enzyme reverse0.512 ± 0.0086 μs
primal_distribution truncated window/ReverseDiff (compiled)3.2 ± 0.4 μs
logccdf_ad_safe location-scale TDist/ForwardDiff2.64 ± 0.082 μs
nondifferentiable wrapped term/ReverseDiff (tape)0.768 ± 0.2 μs
cdf_ad_safe TDist/ReverseDiff (tape)13 ± 0.69 μs
pdf_ad_safe GeneralizedGamma/Enzyme forward7.84 ± 0.71 μs
ccdf_ad_safe TDist/ForwardDiff2.05 ± 0.19 μs
primal_distribution left-truncated window/Mooncake reverse16.6 ± 1.4 μs
logpdf Gamma at shape 1/Enzyme forward6.32 ± 0.087 μs
cdf_ad_safe Gamma/ForwardDiff1.17 ± 0.041 μs
nondifferentiable wrapped term/Mooncake reverse3.41 ± 0.23 μs
logcdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)10.8 ± 0.94 μs
logpdf Gamma at shape 1/ReverseDiff (compiled)11.8 ± 0.86 μs
cdf_ad_safe Weibull/Mooncake forward4.96 ± 0.57 μs
nondifferentiable wrapped term/Enzyme reverse0.0399 ± 0.02 μs
cdf_ad_safe location-scale TDist/Enzyme reverse4.39 ± 0.38 μs
logcdf_ad_safe Gamma/ForwardDiff1.19 ± 0.027 μs
primal_distribution left-truncated window/Enzyme reverse0.393 ± 0.036 μs
nondifferentiable captured value/Mooncake forward3.86 ± 0.5 μs
cdf_ad_safe location-scale TDist/ReverseDiff (tape)21.4 ± 1.9 μs
cdf_ad_safe TDist/Enzyme reverse5.34 ± 0.13 μs
cdf_ad_safe GeneralizedGamma/Mooncake forward11.2 ± 0.27 μs
logcdf_ad_safe TDist/Mooncake reverse19.9 ± 4 μs
logccdf_ad_safe GeneralizedGamma/ForwardDiff2.14 ± 0.2 μs
ccdf_ad_safe Gamma/ReverseDiff (compiled)5.25 ± 0.27 μs
ccdf_ad_safe GeneralizedGamma/Mooncake forward11.3 ± 0.3 μs
logccdf_ad_safe TDist/Enzyme forward7.88 ± 0.71 μs
pdf_ad_safe LogNormal/ForwardDiff0.518 ± 0.062 μs
ad_eltype seeds a differentiable buffer/Mooncake reverse5.04 ± 0.8 μs
ccdf_ad_safe TDist/Enzyme reverse5.38 ± 0.51 μs
ad_eltype seeds a differentiable buffer/ReverseDiff (tape)4.32 ± 0.79 μs
cdf_ad_safe Beta/ForwardDiff2.73 ± 0.051 μs
pdf_ad_safe Gamma/Enzyme reverse2.74 ± 0.086 μs
_gamma_cdf direct/Mooncake reverse3.94 ± 0.26 μs
logccdf_ad_safe LogNormal/Enzyme forward6.31 ± 0.11 μs
primal_distribution left-truncated window/Enzyme forward5.65 ± 0.079 μs
pdf_ad_safe Weibull/ReverseDiff (compiled)13.1 ± 0.98 μs
_t_cdf direct/Mooncake reverse6.15 ± 0.76 μs
nondifferentiable captured value/Enzyme forward5.32 ± 0.14 μs
primal_distribution left-truncated window/ReverseDiff (compiled)2.86 ± 0.32 μs

Memory

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
logcdf_ad_safe TDist/ReverseDiff (tape)0.183 k allocs: 8.16 kB
cdf_ad_safe Gamma/Mooncake forward0.058 k allocs: 2.91 kB
cdf_ad_safe Beta/Enzyme reverse26 allocs: 1.36 kB
logccdf_ad_safe LogNormal/ReverseDiff (tape)0.156 k allocs: 6.97 kB
logpdf Gamma at shape 1/Mooncake reverse0.28 k allocs: 0.0321 MB
_t_cdf direct/ForwardDiff7 allocs: 0.266 kB
cdf_ad_safe GeneralizedGamma/ReverseDiff (tape)0.148 k allocs: 6.17 kB
fixed_draw pinned realisation/ReverseDiff (tape)19 allocs: 0.719 kB
logpdf Gamma at shape 1/Enzyme reverse24 allocs: 1 kB
cdf_ad_safe LogNormal/Enzyme forward0.036 k allocs: 1.11 kB
cdf_ad_safe LogNormal/ForwardDiff7 allocs: 0.266 kB
logccdf_ad_safe TDist/ReverseDiff (compiled)0.183 k allocs: 8.16 kB
nondifferentiable array argument/ForwardDiff9 allocs: 0.344 kB
cdf_ad_safe Gamma/Enzyme forward0.036 k allocs: 1.11 kB
primal_distribution left-truncated window/ForwardDiff7 allocs: 0.266 kB
logccdf_ad_safe location-scale TDist/ReverseDiff (compiled)0.327 k allocs: 13.7 kB
primal_distribution left-truncated window/ReverseDiff (tape)0.06 k allocs: 2.47 kB
ccdf_ad_safe LogNormal/Mooncake reverse0.244 k allocs: 24.7 kB
cdf_ad_safe location-scale TDist/Mooncake reverse0.297 k allocs: 14.7 kB
logcdf GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
logcdf_ad_safe Weibull/Enzyme forward0.036 k allocs: 1.11 kB
ccdf_ad_safe LogNormal/Mooncake forward0.058 k allocs: 2.91 kB
logccdf_ad_safe location-scale TDist/Enzyme forward0.04 k allocs: 1.25 kB
ccdf_ad_safe location-scale TDist/ReverseDiff (compiled)0.315 k allocs: 13.4 kB
logcdf_ad_safe LogNormal/Enzyme reverse24 allocs: 1 kB
_beta_cdf direct/ForwardDiff7 allocs: 0.359 kB
ad_eltype seeds a differentiable buffer/Mooncake forward0.07 k allocs: 3.47 kB
logcdf_ad_safe Beta/Enzyme forward0.038 k allocs: 1.41 kB
pdf_ad_safe Beta/Enzyme reverse0.04 k allocs: 2.23 kB
ccdf_ad_safe location-scale TDist/Mooncake forward0.064 k allocs: 3.06 kB
ccdf_ad_safe Gamma/Enzyme forward0.036 k allocs: 1.11 kB
ccdf_ad_safe Beta/Mooncake forward0.066 k allocs: 4.11 kB
nondifferentiable array argument/Mooncake reverse0.058 k allocs: 2.52 kB
primal_distribution left-truncated window/Mooncake forward0.066 k allocs: 3.69 kB
cdf_ad_safe TDist/Mooncake reverse0.228 k allocs: 19.3 kB
_beta_cdf direct/Mooncake forward0.064 k allocs: 3.08 kB
pdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)0.373 k allocs: 15.4 kB
ccdf_ad_safe LogNormal/Enzyme reverse10 allocs: 0.312 kB
logcdf_ad_safe Gamma/ReverseDiff (tape)0.078 k allocs: 3.28 kB
ccdf_ad_safe LogNormal/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe Beta/ReverseDiff (compiled)0.243 k allocs: 10.6 kB
fixed_draw pinned realisation/Enzyme reverse2 allocs: 0.0781 kB
logccdf_ad_safe location-scale TDist/Mooncake reverse0.3 k allocs: 15.2 kB
cdf_ad_safe Weibull/ReverseDiff (compiled)0.127 k allocs: 4.88 kB
logcdf_ad_safe TDist/Enzyme reverse29 allocs: 1.59 kB
_t_cdf direct/Mooncake forward0.058 k allocs: 2.91 kB
ccdf_ad_safe location-scale TDist/Enzyme forward0.04 k allocs: 1.25 kB
ad_eltype seeds a differentiable buffer/Enzyme forward31 allocs: 1.16 kB
logcdf_ad_safe TDist/ReverseDiff (compiled)0.183 k allocs: 8.16 kB
nondifferentiable wrapped term/Enzyme forward28 allocs: 0.969 kB
primal_distribution truncated window/Enzyme forward28 allocs: 0.969 kB
logccdf_ad_safe Weibull/Enzyme forward0.036 k allocs: 1.11 kB
logcdf_ad_safe LogNormal/Enzyme forward0.036 k allocs: 1.11 kB
logcdf_ad_safe Weibull/ReverseDiff (compiled)0.099 k allocs: 3.95 kB
logccdf_ad_safe Gamma/ReverseDiff (tape)0.062 k allocs: 2.52 kB
logccdf_ad_safe TDist/ReverseDiff (tape)0.183 k allocs: 8.16 kB
pdf_ad_safe Gamma/ReverseDiff (tape)0.243 k allocs: 10.4 kB
logccdf_ad_safe Beta/ReverseDiff (compiled)0.11 k allocs: 4.38 kB
ccdf_ad_safe Weibull/Mooncake reverse0.182 k allocs: 8.68 kB
cdf_ad_safe location-scale TDist/Enzyme forward0.04 k allocs: 1.25 kB
fixed_draw pinned realisation/Mooncake reverse0.059 k allocs: 2.59 kB
logcdf GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
ccdf_ad_safe GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
cdf_ad_safe Beta/Mooncake forward0.066 k allocs: 4.11 kB
logcdf GeneralizedGamma/ReverseDiff (tape)0.164 k allocs: 7.78 kB
pdf_ad_safe Weibull/Enzyme reverse24 allocs: 0.984 kB
primal_distribution truncated window/ReverseDiff (tape)0.067 k allocs: 2.72 kB
fixed_draw pinned realisation/ReverseDiff (compiled)19 allocs: 0.719 kB
logccdf_ad_safe Gamma/ForwardDiff7 allocs: 0.266 kB
ccdf_ad_safe Beta/Enzyme forward0.038 k allocs: 1.41 kB
pdf_ad_safe Beta/ForwardDiff7 allocs: 0.266 kB
cdf_ad_safe LogNormal/Mooncake reverse0.244 k allocs: 24.7 kB
logcdf_ad_safe LogNormal/ReverseDiff (compiled)0.166 k allocs: 7.41 kB
logccdf_ad_safe Weibull/ReverseDiff (tape)0.097 k allocs: 3.94 kB
pdf_ad_safe Weibull/ForwardDiff7 allocs: 0.266 kB
logsumexp_stream geometric/Mooncake reverse0.118 k allocs: 17.5 kB
cdf_ad_safe Gamma/ReverseDiff (compiled)0.061 k allocs: 2.47 kB
ccdf_ad_safe Weibull/Enzyme forward0.036 k allocs: 1.11 kB
_gamma_cdf direct/Mooncake forward0.064 k allocs: 3.06 kB
cdf_ad_safe Gamma/ReverseDiff (tape)0.061 k allocs: 2.47 kB
_gamma_cdf direct/ReverseDiff (compiled)16 allocs: 0.656 kB
ccdf_ad_safe GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
cdf_ad_safe GeneralizedGamma/Enzyme reverse14 allocs: 0.75 kB
logccdf_ad_safe Weibull/ReverseDiff (compiled)0.097 k allocs: 3.94 kB
logccdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)0.148 k allocs: 6.17 kB
ccdf_ad_safe TDist/Mooncake forward0.052 k allocs: 2.69 kB
cdf_ad_safe GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
pdf_ad_safe Beta/Mooncake reverse0.276 k allocs: 0.0331 MB
ccdf_ad_safe Weibull/ForwardDiff7 allocs: 0.266 kB
_gamma_cdf direct/Enzyme reverse2 allocs: 0.0781 kB
_t_cdf direct/ReverseDiff (tape)0.038 k allocs: 1.55 kB
logccdf_ad_safe Weibull/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe GeneralizedGamma/Mooncake reverse0.251 k allocs: 12.5 kB
logcdf_ad_safe Beta/ForwardDiff7 allocs: 0.266 kB
nondifferentiable array argument/ReverseDiff (tape)21 allocs: 0.797 kB
cdf_ad_safe Weibull/Enzyme reverse10 allocs: 0.312 kB
pdf_ad_safe Gamma/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe Weibull/ReverseDiff (tape)0.215 k allocs: 9.52 kB
nondifferentiable array argument/Enzyme forward30 allocs: 1.05 kB
logcdf_ad_safe GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
_gamma_cdf direct/ForwardDiff7 allocs: 0.359 kB
logccdf_ad_safe TDist/ForwardDiff7 allocs: 0.203 kB
ccdf_ad_safe Weibull/Enzyme reverse10 allocs: 0.312 kB
logcdf_ad_safe location-scale TDist/ReverseDiff (tape)0.309 k allocs: 13.2 kB
_beta_cdf direct/Enzyme forward30 allocs: 1.06 kB
_beta_cdf direct/Mooncake reverse0.064 k allocs: 2.91 kB
cdf_ad_safe Weibull/Enzyme forward0.036 k allocs: 1.11 kB
logccdf_ad_safe GeneralizedGamma/Mooncake reverse0.219 k allocs: 10.5 kB
logccdf_ad_safe GeneralizedGamma/Enzyme reverse14 allocs: 0.75 kB
logccdf_ad_safe Beta/Mooncake forward0.066 k allocs: 4.11 kB
pdf_ad_safe LogNormal/Mooncake forward0.058 k allocs: 2.91 kB
logcdf_ad_safe TDist/ForwardDiff7 allocs: 0.203 kB
logcdf GeneralizedGamma/Enzyme reverse14 allocs: 0.797 kB
logsumexp_stream geometric/Mooncake forward0.052 k allocs: 2.69 kB
pdf_ad_safe Beta/Mooncake forward0.058 k allocs: 2.92 kB
logcdf_ad_safe location-scale TDist/ForwardDiff7 allocs: 0.359 kB
cdf_ad_safe Gamma/Mooncake reverse0.217 k allocs: 26 kB
pdf_ad_safe LogNormal/Enzyme forward0.036 k allocs: 1.11 kB
logccdf_ad_safe TDist/Mooncake reverse0.25 k allocs: 20.5 kB
pdf_ad_safe Beta/Enzyme forward0.036 k allocs: 1.11 kB
logcdf_ad_safe location-scale TDist/Mooncake forward0.064 k allocs: 3.06 kB
logccdf_ad_safe Beta/ReverseDiff (tape)0.11 k allocs: 4.38 kB
ccdf_ad_safe location-scale TDist/ReverseDiff (tape)0.315 k allocs: 13.4 kB
ccdf_ad_safe Beta/Enzyme reverse26 allocs: 1.36 kB
pdf_ad_safe GeneralizedGamma/ReverseDiff (tape)0.373 k allocs: 15.4 kB
pdf_ad_safe GeneralizedGamma/Enzyme reverse14 allocs: 0.797 kB
logcdf_ad_safe Beta/Enzyme reverse26 allocs: 1.39 kB
logcdf_ad_safe GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
pdf_ad_safe Gamma/Mooncake reverse0.28 k allocs: 0.0322 MB
ccdf_ad_safe Weibull/Mooncake forward0.058 k allocs: 2.91 kB
nondifferentiable captured value/Enzyme reverse2 allocs: 0.0781 kB
ccdf_ad_safe Beta/Mooncake reverse0.221 k allocs: 27 kB
ccdf_ad_safe Gamma/Mooncake reverse0.217 k allocs: 26 kB
logccdf_ad_safe GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
cdf_ad_safe LogNormal/Mooncake forward0.058 k allocs: 2.91 kB
logccdf_ad_safe LogNormal/ReverseDiff (compiled)0.156 k allocs: 6.97 kB
nondifferentiable array argument/ReverseDiff (compiled)21 allocs: 0.797 kB
logpdf Gamma at shape 1/ForwardDiff7 allocs: 0.266 kB
ccdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)0.169 k allocs: 8.09 kB
logcdf_ad_safe Gamma/Enzyme forward0.036 k allocs: 1.11 kB
logsumexp_stream geometric/Enzyme forward25 allocs: 0.766 kB
ccdf_ad_safe TDist/ReverseDiff (tape)0.17 k allocs: 7.81 kB
ad_eltype seeds a differentiable buffer/ForwardDiff9 allocs: 0.438 kB
_t_cdf direct/Enzyme forward28 allocs: 0.969 kB
logccdf_ad_safe GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
cdf_ad_safe Beta/Enzyme forward0.038 k allocs: 1.41 kB
ccdf_ad_safe GeneralizedGamma/Enzyme reverse14 allocs: 0.75 kB
logccdf_ad_safe LogNormal/Enzyme reverse24 allocs: 1 kB
logcdf_ad_safe LogNormal/ReverseDiff (tape)0.166 k allocs: 7.41 kB
pdf_ad_safe Gamma/Mooncake forward0.058 k allocs: 2.91 kB
logcdf_ad_safe LogNormal/Mooncake forward0.058 k allocs: 2.91 kB
nondifferentiable array argument/Enzyme reverse4 allocs: 0.156 kB
logcdf_ad_safe Gamma/Enzyme reverse24 allocs: 1.03 kB
nondifferentiable wrapped term/Mooncake forward0.058 k allocs: 2.91 kB
logccdf_ad_safe Beta/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe Weibull/Mooncake forward0.058 k allocs: 2.91 kB
pdf_ad_safe LogNormal/Mooncake reverse0.254 k allocs: 25.2 kB
_beta_cdf direct/ReverseDiff (compiled)16 allocs: 0.656 kB
nondifferentiable wrapped term/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe Weibull/Enzyme forward0.036 k allocs: 1.11 kB
nondifferentiable wrapped term/ReverseDiff (compiled)19 allocs: 0.719 kB
logcdf_ad_safe Beta/ReverseDiff (compiled)0.092 k allocs: 3.81 kB
logccdf_ad_safe Gamma/Mooncake reverse0.218 k allocs: 26.2 kB
ccdf_ad_safe TDist/ReverseDiff (compiled)0.17 k allocs: 7.81 kB
ccdf_ad_safe Beta/ReverseDiff (tape)0.097 k allocs: 4.14 kB
logcdf_ad_safe Beta/ReverseDiff (tape)0.092 k allocs: 3.81 kB
pdf_ad_safe Beta/ReverseDiff (tape)0.243 k allocs: 10.6 kB
cdf_ad_safe GeneralizedGamma/Mooncake reverse0.209 k allocs: 10.2 kB
logcdf_ad_safe Weibull/Mooncake forward0.058 k allocs: 2.91 kB
pdf_ad_safe Gamma/Enzyme forward0.036 k allocs: 1.11 kB
pdf_ad_safe Gamma/ReverseDiff (compiled)0.243 k allocs: 10.4 kB
ccdf_ad_safe GeneralizedGamma/ReverseDiff (tape)0.169 k allocs: 8.09 kB
nondifferentiable captured value/Mooncake reverse0.054 k allocs: 2.37 kB
logcdf_ad_safe Gamma/Mooncake reverse0.218 k allocs: 26.2 kB
logcdf_ad_safe GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
logccdf_ad_safe Weibull/Mooncake forward0.058 k allocs: 2.91 kB
cdf_ad_safe Weibull/ForwardDiff7 allocs: 0.266 kB
logccdf_ad_safe Gamma/Enzyme forward0.036 k allocs: 1.11 kB
ccdf_ad_safe Beta/ForwardDiff7 allocs: 0.266 kB
logsumexp_stream geometric/Enzyme reverse2 allocs: 0.0625 kB
logsumexp_stream geometric/ForwardDiff7 allocs: 0.203 kB
logccdf_ad_safe Beta/Enzyme forward0.038 k allocs: 1.41 kB
cdf_ad_safe TDist/Mooncake forward0.052 k allocs: 2.69 kB
logccdf_ad_safe LogNormal/Mooncake reverse0.235 k allocs: 10.8 kB
logcdf_ad_safe Weibull/ForwardDiff7 allocs: 0.266 kB
fixed_draw pinned realisation/ForwardDiff7 allocs: 0.266 kB
cdf_ad_safe location-scale TDist/Mooncake forward0.064 k allocs: 3.06 kB
logcdf_ad_safe TDist/Mooncake forward0.052 k allocs: 2.69 kB
_beta_cdf direct/ReverseDiff (tape)16 allocs: 0.656 kB
logcdf_ad_safe Gamma/ReverseDiff (compiled)0.078 k allocs: 3.28 kB
fixed_draw pinned realisation/Mooncake forward0.058 k allocs: 2.91 kB
cdf_ad_safe Beta/ReverseDiff (compiled)0.073 k allocs: 3.2 kB
nondifferentiable captured value/ReverseDiff (compiled)24 allocs: 0.922 kB
logpdf Gamma at shape 1/ReverseDiff (tape)0.228 k allocs: 9.92 kB
cdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)0.148 k allocs: 6.17 kB
pdf_ad_safe LogNormal/ReverseDiff (tape)0.18 k allocs: 7.91 kB
_gamma_cdf direct/ReverseDiff (tape)16 allocs: 0.656 kB
cdf_ad_safe LogNormal/ReverseDiff (tape)0.131 k allocs: 5.08 kB
logsumexp_stream geometric/ReverseDiff (tape)1.08 k allocs: 0.0443 MB
logcdf_ad_safe GeneralizedGamma/Mooncake reverse0.209 k allocs: 10.2 kB
pdf_ad_safe LogNormal/Enzyme reverse24 allocs: 0.984 kB
logcdf_ad_safe TDist/Enzyme forward31 allocs: 0.875 kB
logccdf_ad_safe TDist/Mooncake forward0.052 k allocs: 2.69 kB
logcdf_ad_safe Weibull/Mooncake reverse0.266 k allocs: 0.0313 MB
logcdf_ad_safe Weibull/Enzyme reverse24 allocs: 0.984 kB
primal_distribution truncated window/Enzyme reverse2 allocs: 0.0781 kB
logcdf_ad_safe location-scale TDist/Enzyme forward0.04 k allocs: 1.25 kB
cdf_ad_safe Beta/Mooncake reverse0.221 k allocs: 27 kB
logccdf_ad_safe location-scale TDist/Mooncake forward0.064 k allocs: 3.06 kB
ccdf_ad_safe LogNormal/Enzyme forward0.036 k allocs: 1.11 kB
logccdf_ad_safe location-scale TDist/Enzyme reverse14 allocs: 1.58 kB
cdf_ad_safe TDist/Enzyme forward31 allocs: 0.875 kB
cdf_ad_safe Weibull/Mooncake reverse0.182 k allocs: 8.68 kB
ccdf_ad_safe location-scale TDist/Enzyme reverse14 allocs: 1.2 kB
cdf_ad_safe TDist/ReverseDiff (compiled)0.17 k allocs: 7.81 kB
cdf_ad_safe Weibull/ReverseDiff (tape)0.127 k allocs: 4.88 kB
logcdf_ad_safe GeneralizedGamma/Enzyme reverse14 allocs: 0.797 kB
nondifferentiable captured value/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
ccdf_ad_safe Weibull/ReverseDiff (compiled)0.112 k allocs: 4.41 kB
ad_eltype seeds a differentiable buffer/ReverseDiff (compiled)0.095 k allocs: 4 kB
cdf_ad_safe TDist/ForwardDiff7 allocs: 0.203 kB
logcdf_ad_safe LogNormal/Mooncake reverse0.236 k allocs: 11.1 kB
logccdf_ad_safe Beta/Mooncake reverse0.222 k allocs: 27.3 kB
logcdf_ad_safe location-scale TDist/Enzyme reverse14 allocs: 1.58 kB
ccdf_ad_safe Gamma/ReverseDiff (tape)0.082 k allocs: 3.55 kB
_t_cdf direct/ReverseDiff (compiled)0.038 k allocs: 1.55 kB
fixed_draw pinned realisation/Enzyme forward28 allocs: 0.969 kB
pdf_ad_safe Weibull/Mooncake reverse0.278 k allocs: 0.0322 MB
ccdf_ad_safe TDist/Enzyme forward31 allocs: 0.875 kB
logccdf_ad_safe GeneralizedGamma/ReverseDiff (tape)0.148 k allocs: 6.17 kB
ccdf_ad_safe LogNormal/ReverseDiff (tape)0.119 k allocs: 4.7 kB
cdf_ad_safe LogNormal/Enzyme reverse10 allocs: 0.312 kB
cdf_ad_safe GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
logcdf_ad_safe location-scale TDist/ReverseDiff (compiled)0.309 k allocs: 13.2 kB
pdf_ad_safe LogNormal/ReverseDiff (compiled)0.18 k allocs: 7.91 kB
logcdf_ad_safe Beta/Mooncake reverse0.222 k allocs: 27.3 kB
logcdf GeneralizedGamma/ReverseDiff (compiled)0.164 k allocs: 7.78 kB
primal_distribution truncated window/Mooncake forward0.058 k allocs: 2.91 kB
ccdf_ad_safe GeneralizedGamma/Mooncake reverse0.209 k allocs: 10.2 kB
logcdf_ad_safe location-scale TDist/Mooncake reverse0.3 k allocs: 15.2 kB
ccdf_ad_safe Gamma/ForwardDiff7 allocs: 0.266 kB
logcdf_ad_safe Gamma/Mooncake forward0.058 k allocs: 2.91 kB
logccdf_ad_safe Gamma/Mooncake forward0.058 k allocs: 2.91 kB
cdf_ad_safe LogNormal/ReverseDiff (compiled)0.131 k allocs: 5.08 kB
logcdf_ad_safe LogNormal/ForwardDiff7 allocs: 0.266 kB
logpdf Gamma at shape 1/Mooncake forward0.058 k allocs: 2.91 kB
_beta_cdf direct/Enzyme reverse2 allocs: 0.0781 kB
logsumexp_stream geometric/ReverseDiff (compiled)1.08 k allocs: 0.0443 MB
cdf_ad_safe location-scale TDist/ReverseDiff (compiled)0.296 k allocs: 12.8 kB
logcdf GeneralizedGamma/Mooncake reverse0.209 k allocs: 10.2 kB
primal_distribution truncated window/ForwardDiff7 allocs: 0.266 kB
ccdf_ad_safe location-scale TDist/Mooncake reverse0.297 k allocs: 14.7 kB
cdf_ad_safe location-scale TDist/ForwardDiff7 allocs: 0.359 kB
ad_eltype seeds a differentiable buffer/Enzyme reverse4 allocs: 0.203 kB
_gamma_cdf direct/Enzyme forward30 allocs: 1.06 kB
logccdf_ad_safe LogNormal/ForwardDiff7 allocs: 0.266 kB
logccdf_ad_safe Weibull/Enzyme reverse10 allocs: 0.312 kB
ccdf_ad_safe Gamma/Enzyme reverse24 allocs: 1 kB
pdf_ad_safe GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
logccdf_ad_safe Gamma/Enzyme reverse24 allocs: 1 kB
logccdf_ad_safe Beta/Enzyme reverse26 allocs: 1.39 kB
logccdf_ad_safe Weibull/Mooncake reverse0.217 k allocs: 26 kB
logcdf_ad_safe Beta/Mooncake forward0.066 k allocs: 4.11 kB
ccdf_ad_safe Weibull/ReverseDiff (tape)0.112 k allocs: 4.41 kB
logccdf_ad_safe TDist/Enzyme reverse29 allocs: 1.59 kB
cdf_ad_safe Gamma/Enzyme reverse24 allocs: 1 kB
logccdf_ad_safe location-scale TDist/ReverseDiff (tape)0.327 k allocs: 13.7 kB
logcdf_ad_safe GeneralizedGamma/ReverseDiff (tape)0.164 k allocs: 7.78 kB
nondifferentiable captured value/ReverseDiff (tape)24 allocs: 0.922 kB
ccdf_ad_safe TDist/Mooncake reverse0.228 k allocs: 19.3 kB
cdf_ad_safe Beta/ReverseDiff (tape)0.073 k allocs: 3.2 kB
logccdf_ad_safe Gamma/ReverseDiff (compiled)0.062 k allocs: 2.52 kB
logcdf GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
ccdf_ad_safe LogNormal/ReverseDiff (compiled)0.119 k allocs: 4.7 kB
ccdf_ad_safe Beta/ReverseDiff (compiled)0.097 k allocs: 4.14 kB
logccdf_ad_safe LogNormal/Mooncake forward0.058 k allocs: 2.91 kB
ccdf_ad_safe Gamma/Mooncake forward0.058 k allocs: 2.91 kB
logcdf_ad_safe Weibull/ReverseDiff (tape)0.099 k allocs: 3.95 kB
nondifferentiable array argument/Mooncake forward0.066 k allocs: 3.22 kB
ccdf_ad_safe location-scale TDist/ForwardDiff7 allocs: 0.359 kB
primal_distribution truncated window/Mooncake reverse0.242 k allocs: 11.4 kB
_t_cdf direct/Enzyme reverse2 allocs: 0.0781 kB
primal_distribution truncated window/ReverseDiff (compiled)0.067 k allocs: 2.72 kB
logccdf_ad_safe location-scale TDist/ForwardDiff7 allocs: 0.359 kB
nondifferentiable wrapped term/ReverseDiff (tape)19 allocs: 0.719 kB
cdf_ad_safe TDist/ReverseDiff (tape)0.17 k allocs: 7.81 kB
pdf_ad_safe GeneralizedGamma/Enzyme forward0.04 k allocs: 1.25 kB
ccdf_ad_safe TDist/ForwardDiff7 allocs: 0.203 kB
primal_distribution left-truncated window/Mooncake reverse0.257 k allocs: 11.7 kB
logpdf Gamma at shape 1/Enzyme forward0.036 k allocs: 1.11 kB
cdf_ad_safe Gamma/ForwardDiff7 allocs: 0.266 kB
nondifferentiable wrapped term/Mooncake reverse0.059 k allocs: 2.59 kB
logcdf_ad_safe GeneralizedGamma/ReverseDiff (compiled)0.164 k allocs: 7.78 kB
logpdf Gamma at shape 1/ReverseDiff (compiled)0.228 k allocs: 9.92 kB
cdf_ad_safe Weibull/Mooncake forward0.058 k allocs: 2.91 kB
nondifferentiable wrapped term/Enzyme reverse2 allocs: 0.0781 kB
cdf_ad_safe location-scale TDist/Enzyme reverse14 allocs: 1.2 kB
logcdf_ad_safe Gamma/ForwardDiff7 allocs: 0.266 kB
primal_distribution left-truncated window/Enzyme reverse2 allocs: 0.0781 kB
nondifferentiable captured value/Mooncake forward0.058 k allocs: 2.91 kB
cdf_ad_safe location-scale TDist/ReverseDiff (tape)0.296 k allocs: 12.8 kB
cdf_ad_safe TDist/Enzyme reverse29 allocs: 1.41 kB
cdf_ad_safe GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
logcdf_ad_safe TDist/Mooncake reverse0.25 k allocs: 20.5 kB
logccdf_ad_safe GeneralizedGamma/ForwardDiff7 allocs: 0.359 kB
ccdf_ad_safe Gamma/ReverseDiff (compiled)0.082 k allocs: 3.55 kB
ccdf_ad_safe GeneralizedGamma/Mooncake forward0.064 k allocs: 3.06 kB
logccdf_ad_safe TDist/Enzyme forward31 allocs: 0.875 kB
pdf_ad_safe LogNormal/ForwardDiff7 allocs: 0.266 kB
ad_eltype seeds a differentiable buffer/Mooncake reverse0.095 k allocs: 5.48 kB
ccdf_ad_safe TDist/Enzyme reverse29 allocs: 1.41 kB
ad_eltype seeds a differentiable buffer/ReverseDiff (tape)0.095 k allocs: 4 kB
cdf_ad_safe Beta/ForwardDiff7 allocs: 0.266 kB
pdf_ad_safe Gamma/Enzyme reverse24 allocs: 1.03 kB
_gamma_cdf direct/Mooncake reverse0.064 k allocs: 2.9 kB
logccdf_ad_safe LogNormal/Enzyme forward0.036 k allocs: 1.11 kB
primal_distribution left-truncated window/Enzyme forward28 allocs: 0.969 kB
pdf_ad_safe Weibull/ReverseDiff (compiled)0.215 k allocs: 9.52 kB
_t_cdf direct/Mooncake reverse0.079 k allocs: 3.69 kB
nondifferentiable captured value/Enzyme forward28 allocs: 0.969 kB
primal_distribution left-truncated window/ReverseDiff (compiled)0.06 k allocs: 2.47 kB

time_to_load

Time

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
time_to_load0.477 ± 0.0049 s0.477 ± 0.0054 s0.472 ± 0.0019 s0.476 ± 0.0045 s0.479 ± 0.0024 s

Memory

Benchmarkv0.2.1v0.2.0v0.1.2v0.1.17cfbbe9220e647...
time_to_load0.15 k allocs: 11.7 kB0.15 k allocs: 11.7 kB0.15 k allocs: 11.7 kB0.15 k allocs: 11.7 kB0.149 k allocs: 11.1 kB

Per-benchmark timelines

<details> <summary>Show 2 plots</summary>

plot_EpiAwareADTools_1.pngplot_EpiAwareADTools_2.png

</details>

About these benchmarks

Benchmarks for the AD-safe machinery, reading the analytic gamma-CDF hooks against the bare Distributions.jl functions and timing the per-backend gradients of each hook.

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=Hooks
task benchmark-compare -- --filter="AD gradients"

Benchmark structure

Baseline/
  Gamma/               (cdf, logcdf, ccdf, logccdf, pdf)

Hooks/
  Gamma/               (cdf_ad_safe, logcdf_ad_safe, ccdf_ad_safe,
                        logccdf_ad_safe, pdf_ad_safe — analytic path)
  Normal (fall-through)/ (cdf_ad_safe, logcdf_ad_safe, pdf_ad_safe —
                        generic method, collapses to Distributions)
  _gamma_cdf/          (scalar, broadcast)

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

Primal cost and gradient cost

The Baseline group times the stock Distributions.jl functions each hook wraps. On a Gamma the hooks route through the analytic gamma-CDF path (_gamma_cdf) rather than SpecialFunctions.gamma_inc, so the gap between Hooks/Gamma and Baseline/Gamma is the cost of the AD-safe detour on a plain (non-AD) call. On a Normal the generic method falls straight through to Distributions, so Hooks/Normal (fall-through) should sit on top of the baseline with no measurable overhead.

The AD gradients group is the point of the package: it times DifferentiationInterface.gradient for every scenario in test/ADFixtures across the ForwardDiff, ReverseDiff, Enzyme, and Mooncake backends, which is where the analytic derivative rules earn their keep.

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.