Performance over time
How ModifiedDistributions'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.
Not enough comparable revisions to compute ratios yet — the summary populates once a second revision is benchmarked.
Tables below show the most recent 1 revision, columns labelled by commit date.
AD gradients
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| Affine LogNormal scale+shift logpdf/Enzyme forward | 8.47 ± 0.097 μs |
| Affine LogNormal scale+shift logpdf/Enzyme reverse | 3.04 ± 0.048 μs |
| Affine LogNormal scale+shift logpdf/ForwardDiff | 0.752 ± 0.041 μs |
| Affine LogNormal scale+shift logpdf/Mooncake forward | 6.71 ± 0.12 μs |
| Affine LogNormal scale+shift logpdf/Mooncake reverse | 17.5 ± 0.79 μs |
| Affine LogNormal scale+shift logpdf/ReverseDiff (tape) | 16.4 ± 0.39 μs |
| Modified LogNormal identity-link logpdf/Enzyme forward | 8.78 ± 0.08 μs |
| Modified LogNormal identity-link logpdf/Enzyme reverse | 5.86 ± 1.1 μs |
| Modified LogNormal identity-link logpdf/ForwardDiff | 0.99 ± 0.019 μs |
| Modified LogNormal identity-link logpdf/Mooncake forward | 8.34 ± 0.17 μs |
| Modified LogNormal identity-link logpdf/Mooncake reverse | 0.0437 ± 0.0073 ms |
| Modified LogNormal identity-link logpdf/ReverseDiff (tape) | 0.0322 ± 0.00057 ms |
| Modified LogNormal log-link logpdf/Enzyme forward | 8.58 ± 0.08 μs |
| Modified LogNormal log-link logpdf/Enzyme reverse | 3.56 ± 0.083 μs |
| Modified LogNormal log-link logpdf/ForwardDiff | 0.905 ± 0.093 μs |
| Modified LogNormal log-link logpdf/Mooncake forward | 7.51 ± 0.14 μs |
| Modified LogNormal log-link logpdf/Mooncake reverse | 0.0399 ± 0.0086 ms |
| Modified LogNormal log-link logpdf/ReverseDiff (tape) | 27.6 ± 0.54 μs |
| Modified discrete logit-link per-bin logpdf/Enzyme forward | 13.2 ± 0.62 μs |
| Modified discrete logit-link per-bin logpdf/Enzyme reverse | 14.4 ± 1.2 μs |
| Modified discrete logit-link per-bin logpdf/ForwardDiff | 3.75 ± 0.71 μs |
| Modified discrete logit-link per-bin logpdf/Mooncake forward | 24.4 ± 8.8 μs |
| Modified discrete logit-link per-bin logpdf/Mooncake reverse | 0.127 ± 0.013 ms |
| Modified discrete logit-link per-bin logpdf/ReverseDiff (tape) | 0.0477 ± 0.0027 ms |
| Modified numeric quadrature clamped additive LogNormal logpdf/Enzyme forward | 0.152 ± 0.0022 ms |
| Modified numeric quadrature clamped additive LogNormal logpdf/ForwardDiff | 0.12 ± 0.00033 ms |
| Modified numeric quadrature clamped additive LogNormal logpdf/Mooncake forward | 0.489 ± 0.012 ms |
| Modified numeric quadrature clamped additive LogNormal logpdf/ReverseDiff (tape) | 0.704 ± 0.09 ms |
| Product{Weighted} LogNormal vector logpdf/Enzyme forward | 8.47 ± 0.28 μs |
| Product{Weighted} LogNormal vector logpdf/Enzyme reverse | 1.02 ± 0.22 μs |
| Product{Weighted} LogNormal vector logpdf/ForwardDiff | 0.87 ± 0.061 μs |
| Product{Weighted} LogNormal vector logpdf/Mooncake forward | 7.14 ± 0.8 μs |
| Product{Weighted} LogNormal vector logpdf/Mooncake reverse | 27.6 ± 1.8 μs |
| Product{Weighted} LogNormal vector logpdf/ReverseDiff (tape) | 16.5 ± 0.44 μs |
| Thinned convolved series sum/Enzyme forward | 10.7 ± 0.16 μs |
| Thinned convolved series sum/Enzyme reverse | 14.2 ± 0.19 μs |
| Thinned convolved series sum/ForwardDiff | 3.26 ± 0.037 μs |
| Thinned convolved series sum/Mooncake forward | 12.5 ± 0.41 μs |
| Thinned convolved series sum/Mooncake reverse | 29.2 ± 4.4 μs |
| Thinned convolved series sum/ReverseDiff (tape) | 0.0374 ± 0.00083 ms |
| Transformed cumulative LogNormal logpdf/Enzyme forward | 8.09 ± 0.073 μs |
| Transformed cumulative LogNormal logpdf/Enzyme reverse | 2.02 ± 0.069 μs |
| Transformed cumulative LogNormal logpdf/ForwardDiff | 0.513 ± 0.039 μs |
| Transformed cumulative LogNormal logpdf/Mooncake forward | 5.57 ± 0.17 μs |
| Transformed cumulative LogNormal logpdf/Mooncake reverse | 23.7 ± 6.9 μs |
| Transformed cumulative LogNormal logpdf/ReverseDiff (tape) | 14.8 ± 0.38 μs |
| Transformed series_transform LogNormal logpdf/Enzyme forward | 8.12 ± 0.08 μs |
| Transformed series_transform LogNormal logpdf/Enzyme reverse | 1.99 ± 0.073 μs |
| Transformed series_transform LogNormal logpdf/ForwardDiff | 0.513 ± 0.041 μs |
| Transformed series_transform LogNormal logpdf/Mooncake forward | 5.44 ± 0.19 μs |
| Transformed series_transform LogNormal logpdf/Mooncake reverse | 23.9 ± 7 μs |
| Transformed series_transform LogNormal logpdf/ReverseDiff (tape) | 15 ± 0.39 μs |
| Transformed thin LogNormal logpdf/Enzyme forward | 8.05 ± 0.065 μs |
| Transformed thin LogNormal logpdf/Enzyme reverse | 1.99 ± 0.07 μs |
| Transformed thin LogNormal logpdf/ForwardDiff | 0.515 ± 0.048 μs |
| Transformed thin LogNormal logpdf/Mooncake forward | 5.53 ± 0.17 μs |
| Transformed thin LogNormal logpdf/Mooncake reverse | 23.7 ± 6.9 μs |
| Transformed thin LogNormal logpdf/ReverseDiff (tape) | 14.8 ± 0.37 μs |
| Weighted Affine LogNormal nested logpdf/Enzyme forward | 8.31 ± 0.094 μs |
| Weighted Affine LogNormal nested logpdf/Enzyme reverse | 0.942 ± 0.074 μs |
| Weighted Affine LogNormal nested logpdf/ForwardDiff | 0.791 ± 0.04 μs |
| Weighted Affine LogNormal nested logpdf/Mooncake forward | 7.32 ± 0.16 μs |
| Weighted Affine LogNormal nested logpdf/Mooncake reverse | 19.3 ± 0.78 μs |
| Weighted Affine LogNormal nested logpdf/ReverseDiff (tape) | 18.5 ± 0.45 μs |
| Weighted LogNormal observation-time weight logpdf/Enzyme forward | 8.04 ± 0.062 μs |
| Weighted LogNormal observation-time weight logpdf/Enzyme reverse | 1.26 ± 0.32 μs |
| Weighted LogNormal observation-time weight logpdf/ForwardDiff | 0.546 ± 0.038 μs |
| Weighted LogNormal observation-time weight logpdf/Mooncake forward | 6.03 ± 0.58 μs |
| Weighted LogNormal observation-time weight logpdf/Mooncake reverse | 30.2 ± 3.2 μs |
| Weighted LogNormal observation-time weight logpdf/ReverseDiff (tape) | 16.9 ± 0.38 μs |
| Weighted LogNormal scalar logpdf/Enzyme forward | 8.03 ± 0.065 μs |
| Weighted LogNormal scalar logpdf/Enzyme reverse | 1.27 ± 0.32 μs |
| Weighted LogNormal scalar logpdf/ForwardDiff | 0.546 ± 0.05 μs |
| Weighted LogNormal scalar logpdf/Mooncake forward | 6.05 ± 0.61 μs |
| Weighted LogNormal scalar logpdf/Mooncake reverse | 0.0365 ± 0.0035 ms |
| Weighted LogNormal scalar logpdf/ReverseDiff (tape) | 16.9 ± 0.39 μs |
| Weighted Sequential observed-total logpdf/Enzyme forward | 0.116 ± 0.004 ms |
| Weighted Sequential observed-total logpdf/Enzyme reverse | 0.348 ± 0.026 ms |
| Weighted Sequential observed-total logpdf/ForwardDiff | 0.0837 ± 0.001 ms |
| Weighted Sequential observed-total logpdf/Mooncake forward | 0.416 ± 0.02 ms |
| Weighted Sequential observed-total logpdf/Mooncake reverse | 1.29 ± 0.1 ms |
| Weighted Sequential observed-total logpdf/ReverseDiff (tape) | 2.52 ± 0.32 ms |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| Affine LogNormal scale+shift logpdf/Enzyme forward | 0.044 k allocs: 1.52 kB |
| Affine LogNormal scale+shift logpdf/Enzyme reverse | 24 allocs: 0.969 kB |
| Affine LogNormal scale+shift logpdf/ForwardDiff | 7 allocs: 0.484 kB |
| Affine LogNormal scale+shift logpdf/Mooncake forward | 0.07 k allocs: 3.33 kB |
| Affine LogNormal scale+shift logpdf/Mooncake reverse | 0.291 k allocs: 13.4 kB |
| Affine LogNormal scale+shift logpdf/ReverseDiff (tape) | 0.248 k allocs: 10.6 kB |
| Modified LogNormal identity-link logpdf/Enzyme forward | 0.04 k allocs: 1.25 kB |
| Modified LogNormal identity-link logpdf/Enzyme reverse | 28 allocs: 3.41 kB |
| Modified LogNormal identity-link logpdf/ForwardDiff | 7 allocs: 0.359 kB |
| Modified LogNormal identity-link logpdf/Mooncake forward | 0.064 k allocs: 3.06 kB |
| Modified LogNormal identity-link logpdf/Mooncake reverse | 0.484 k allocs: 0.0415 MB |
| Modified LogNormal identity-link logpdf/ReverseDiff (tape) | 0.465 k allocs: 17.8 kB |
| Modified LogNormal log-link logpdf/Enzyme forward | 0.04 k allocs: 1.25 kB |
| Modified LogNormal log-link logpdf/Enzyme reverse | 24 allocs: 0.969 kB |
| Modified LogNormal log-link logpdf/ForwardDiff | 7 allocs: 0.359 kB |
| Modified LogNormal log-link logpdf/Mooncake forward | 0.064 k allocs: 3.06 kB |
| Modified LogNormal log-link logpdf/Mooncake reverse | 0.438 k allocs: 0.039 MB |
| Modified LogNormal log-link logpdf/ReverseDiff (tape) | 0.377 k allocs: 14.9 kB |
| Modified discrete logit-link per-bin logpdf/Enzyme forward | 0.307 k allocs: 13.9 kB |
| Modified discrete logit-link per-bin logpdf/Enzyme reverse | 0.145 k allocs: 14.3 kB |
| Modified discrete logit-link per-bin logpdf/ForwardDiff | 0.062 k allocs: 5.36 kB |
| Modified discrete logit-link per-bin logpdf/Mooncake forward | 0.779 k allocs: 0.0345 MB |
| Modified discrete logit-link per-bin logpdf/Mooncake reverse | 1.25 k allocs: 0.107 MB |
| Modified discrete logit-link per-bin logpdf/ReverseDiff (tape) | 0.84 k allocs: 0.0357 MB |
| Modified numeric quadrature clamped additive LogNormal logpdf/Enzyme forward | 0.205 k allocs: 6.88 kB |
| Modified numeric quadrature clamped additive LogNormal logpdf/ForwardDiff | 0.056 k allocs: 1.75 kB |
| Modified numeric quadrature clamped additive LogNormal logpdf/Mooncake forward | 0.397 k allocs: 13.7 kB |
| Modified numeric quadrature clamped additive LogNormal logpdf/ReverseDiff (tape) | 8.65 k allocs: 0.347 MB |
| Product{Weighted} LogNormal vector logpdf/Enzyme forward | 0.053 k allocs: 2.31 kB |
| Product{Weighted} LogNormal vector logpdf/Enzyme reverse | 16 allocs: 0.922 kB |
| Product{Weighted} LogNormal vector logpdf/ForwardDiff | 15 allocs: 1.06 kB |
| Product{Weighted} LogNormal vector logpdf/Mooncake forward | 0.116 k allocs: 6.31 kB |
| Product{Weighted} LogNormal vector logpdf/Mooncake reverse | 0.372 k allocs: 23.5 kB |
| Product{Weighted} LogNormal vector logpdf/ReverseDiff (tape) | 0.239 k allocs: 10 kB |
| Thinned convolved series sum/Enzyme forward | 0.043 k allocs: 1.86 kB |
| Thinned convolved series sum/Enzyme reverse | 0.036 k allocs: 1.86 kB |
| Thinned convolved series sum/ForwardDiff | 13 allocs: 0.922 kB |
| Thinned convolved series sum/Mooncake forward | 0.094 k allocs: 4.89 kB |
| Thinned convolved series sum/Mooncake reverse | 0.262 k allocs: 21.5 kB |
| Thinned convolved series sum/ReverseDiff (tape) | 0.486 k allocs: 19.4 kB |
| Transformed cumulative LogNormal logpdf/Enzyme forward | 0.036 k allocs: 1.11 kB |
| Transformed cumulative LogNormal logpdf/Enzyme reverse | 14 allocs: 0.609 kB |
| Transformed cumulative LogNormal logpdf/ForwardDiff | 7 allocs: 0.266 kB |
| Transformed cumulative LogNormal logpdf/Mooncake forward | 0.058 k allocs: 2.91 kB |
| Transformed cumulative LogNormal logpdf/Mooncake reverse | 0.273 k allocs: 25.6 kB |
| Transformed cumulative LogNormal logpdf/ReverseDiff (tape) | 0.213 k allocs: 9.06 kB |
| Transformed series_transform LogNormal logpdf/Enzyme forward | 0.036 k allocs: 1.11 kB |
| Transformed series_transform LogNormal logpdf/Enzyme reverse | 14 allocs: 0.609 kB |
| Transformed series_transform LogNormal logpdf/ForwardDiff | 7 allocs: 0.266 kB |
| Transformed series_transform LogNormal logpdf/Mooncake forward | 0.058 k allocs: 2.91 kB |
| Transformed series_transform LogNormal logpdf/Mooncake reverse | 0.273 k allocs: 25.6 kB |
| Transformed series_transform LogNormal logpdf/ReverseDiff (tape) | 0.213 k allocs: 9.06 kB |
| Transformed thin LogNormal logpdf/Enzyme forward | 0.036 k allocs: 1.11 kB |
| Transformed thin LogNormal logpdf/Enzyme reverse | 14 allocs: 0.609 kB |
| Transformed thin LogNormal logpdf/ForwardDiff | 7 allocs: 0.266 kB |
| Transformed thin LogNormal logpdf/Mooncake forward | 0.058 k allocs: 2.91 kB |
| Transformed thin LogNormal logpdf/Mooncake reverse | 0.273 k allocs: 25.6 kB |
| Transformed thin LogNormal logpdf/ReverseDiff (tape) | 0.213 k allocs: 9.06 kB |
| Weighted Affine LogNormal nested logpdf/Enzyme forward | 0.036 k allocs: 1.38 kB |
| Weighted Affine LogNormal nested logpdf/Enzyme reverse | 6 allocs: 0.484 kB |
| Weighted Affine LogNormal nested logpdf/ForwardDiff | 7 allocs: 0.516 kB |
| Weighted Affine LogNormal nested logpdf/Mooncake forward | 0.08 k allocs: 4.02 kB |
| Weighted Affine LogNormal nested logpdf/Mooncake reverse | 0.329 k allocs: 15.6 kB |
| Weighted Affine LogNormal nested logpdf/ReverseDiff (tape) | 0.269 k allocs: 11.3 kB |
| Weighted LogNormal observation-time weight logpdf/Enzyme forward | 0.032 k allocs: 1.05 kB |
| Weighted LogNormal observation-time weight logpdf/Enzyme reverse | 10 allocs: 1.14 kB |
| Weighted LogNormal observation-time weight logpdf/ForwardDiff | 7 allocs: 0.297 kB |
| Weighted LogNormal observation-time weight logpdf/Mooncake forward | 0.068 k allocs: 3.59 kB |
| Weighted LogNormal observation-time weight logpdf/Mooncake reverse | 0.32 k allocs: 0.0353 MB |
| Weighted LogNormal observation-time weight logpdf/ReverseDiff (tape) | 0.239 k allocs: 9.97 kB |
| Weighted LogNormal scalar logpdf/Enzyme forward | 0.032 k allocs: 1.05 kB |
| Weighted LogNormal scalar logpdf/Enzyme reverse | 10 allocs: 1.14 kB |
| Weighted LogNormal scalar logpdf/ForwardDiff | 7 allocs: 0.297 kB |
| Weighted LogNormal scalar logpdf/Mooncake forward | 0.068 k allocs: 3.59 kB |
| Weighted LogNormal scalar logpdf/Mooncake reverse | 0.348 k allocs: 0.0453 MB |
| Weighted LogNormal scalar logpdf/ReverseDiff (tape) | 0.239 k allocs: 9.97 kB |
| Weighted Sequential observed-total logpdf/Enzyme forward | 0.668 k allocs: 26 kB |
| Weighted Sequential observed-total logpdf/Enzyme reverse | 2.01 k allocs: 0.0974 MB |
| Weighted Sequential observed-total logpdf/ForwardDiff | 0.198 k allocs: 10.1 kB |
| Weighted Sequential observed-total logpdf/Mooncake forward | 1.65 k allocs: 0.0702 MB |
| Weighted Sequential observed-total logpdf/Mooncake reverse | 8.5 k allocs: 0.854 MB |
| Weighted Sequential observed-total logpdf/ReverseDiff (tape) | 31.3 k allocs: 1.29 MB |
Affine
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| LogNormal/ccdf | 3.27 ± 0.37 μs |
| LogNormal/cdf | 3.37 ± 0.37 μs |
| LogNormal/construction | 3.1 ± 0.01 ns |
| LogNormal/logpdf | 2.67 ± 0.33 μs |
| LogNormal/pdf | 4.08 ± 0.36 μs |
| LogNormal/quantile | 0.493 ± 0.018 μs |
| LogNormal/rand | 1.27 ± 0.076 μs |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| LogNormal/ccdf | 2 allocs: 0.906 kB |
| LogNormal/cdf | 2 allocs: 0.906 kB |
| LogNormal/construction | 0 allocs: 0 B |
| LogNormal/logpdf | 2 allocs: 0.906 kB |
| LogNormal/pdf | 2 allocs: 0.906 kB |
| LogNormal/quantile | 2 allocs: 0.219 kB |
| LogNormal/rand | 2 allocs: 0.906 kB |
Baseline
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| LogNormal/ccdf | 2.65 ± 0.33 μs |
| LogNormal/cdf | 2.64 ± 0.34 μs |
| LogNormal/construction | 1.55 ± 0.01 ns |
| LogNormal/logpdf | 1.66 ± 0.29 μs |
| LogNormal/pdf | 2.96 ± 0.33 μs |
| LogNormal/quantile | 0.469 ± 0.018 μs |
| LogNormal/rand | 1.03 ± 0.032 μs |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| LogNormal/ccdf | 2 allocs: 0.906 kB |
| LogNormal/cdf | 2 allocs: 0.906 kB |
| LogNormal/construction | 0 allocs: 0 B |
| LogNormal/logpdf | 2 allocs: 0.906 kB |
| LogNormal/pdf | 2 allocs: 0.906 kB |
| LogNormal/quantile | 2 allocs: 0.219 kB |
| LogNormal/rand | 2 allocs: 0.906 kB |
Modified
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| IdentityLink/ccdf | 7.52 ± 0.022 μs |
| IdentityLink/cdf | 7.2 ± 0.022 μs |
| IdentityLink/construction | 2.79 ± 0.01 ns |
| IdentityLink/logpdf | 10.5 ± 0.059 μs |
| IdentityLink/pdf | 12.7 ± 0.06 μs |
| IdentityLink/quantile | 0.11 ± 0.00017 ms |
| IdentityLink/rand | 0.579 ± 0.015 ms |
| LogLink/ccdf | 5.77 ± 0.038 μs |
| LogLink/cdf | 6.14 ± 0.026 μs |
| LogLink/construction | 3.1 ± 0.01 ns |
| LogLink/logpdf | 8.04 ± 0.027 μs |
| LogLink/pdf | 9.36 ± 0.049 μs |
| LogLink/quantile | 0.918 ± 0.076 μs |
| LogLink/rand | 5.14 ± 0.14 μs |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| IdentityLink/ccdf | 2 allocs: 0.906 kB |
| IdentityLink/cdf | 2 allocs: 0.906 kB |
| IdentityLink/construction | 0 allocs: 0 B |
| IdentityLink/logpdf | 2 allocs: 0.906 kB |
| IdentityLink/pdf | 2 allocs: 0.906 kB |
| IdentityLink/quantile | 2 allocs: 0.219 kB |
| IdentityLink/rand | 2 allocs: 0.906 kB |
| LogLink/ccdf | 2 allocs: 0.906 kB |
| LogLink/cdf | 2 allocs: 0.906 kB |
| LogLink/construction | 0 allocs: 0 B |
| LogLink/logpdf | 2 allocs: 0.906 kB |
| LogLink/pdf | 2 allocs: 0.906 kB |
| LogLink/quantile | 2 allocs: 0.219 kB |
| LogLink/rand | 2 allocs: 0.906 kB |
Transformed
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| cumulative/cdf | 2.64 ± 0.35 μs |
| cumulative/construction | 3.1 ± 0.01 ns |
| cumulative/logpdf | 1.65 ± 0.29 μs |
| cumulative/rand | 1.03 ± 0.032 μs |
| thin/cdf | 2.64 ± 0.34 μs |
| thin/construction | 3.1 ± 0.01 ns |
| thin/logpdf | 1.66 ± 0.31 μs |
| thin/rand | 1.03 ± 0.034 μs |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| cumulative/cdf | 2 allocs: 0.906 kB |
| cumulative/construction | 0 allocs: 0 B |
| cumulative/logpdf | 2 allocs: 0.906 kB |
| cumulative/rand | 2 allocs: 0.906 kB |
| thin/cdf | 2 allocs: 0.906 kB |
| thin/construction | 0 allocs: 0 B |
| thin/logpdf | 2 allocs: 0.906 kB |
| thin/rand | 2 allocs: 0.906 kB |
Weighted
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| Product/construction | 0.223 ± 0.08 μs |
| Product/logpdf | 2.96 ± 0.24 μs |
| scalar/construction | 3.1 ± 0.01 ns |
| scalar/logpdf | 1.7 ± 0.31 μs |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| Product/construction | 3 allocs: 2.45 kB |
| Product/logpdf | 6 allocs: 2.72 kB |
| scalar/construction | 0 allocs: 0 B |
| scalar/logpdf | 2 allocs: 0.906 kB |
time_to_load
Time
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| time_to_load | 0.609 ± 0.0046 s |
Memory
| Benchmark | d81ddd1eb1c19f... |
|---|---|
| time_to_load | 0.149 k allocs: 11.2 kB |
Per-benchmark timelines
<details> <summary>Show 7 plots</summary>







</details>
About these benchmarks
ModifiedDistributions benchmarks each modifier's hot paths so wrapper overhead is visible and regressions are caught on every pull request.
The suite (benchmark/benchmarks.jl) evaluates construction, logpdf, pdf, cdf/ccdf, quantile and rand for every modifier around the same base LogNormal, with the bare base as the shared baseline floor:
Baseline: the bare base LogNormal.Affine: the change-of-variables paths throughY = scale * X + shift.Weighted: thelogpdfweight paths, scalar and the vectorisedProduct{Weighted}form.Transformed:thinandcumulative, whose forward ops are transparent to every distribution method, so these rows should sit on the baseline.Modified: the hazard modification on both analytic links; the identity-linkquantileandrandexercise the monotone-bisection cdf inversion, the one non-closed-form path.AD gradients:DifferentiationInterface.gradientof everytest/ADFixturesscenario across the ForwardDiff, ReverseDiff, Mooncake and Enzyme backends, sharing the fixtures that drive the AD test suite.
Run the suite locally with task benchmark, or compare against main with task benchmark-compare (see benchmark/README.md). On pull requests the benchmark workflow benchmarks head and base in separate jobs and posts a single comparison comment. Pushes to main and tags append to the performance history shown below.