Skip to content

Conversation

@devmotion
Copy link
Contributor

As preparation for #1195 (see #1195 (comment)).

JET had found two obvious errors (undefined T and incorrect function call missing a semicolon), unsafe function calls due to ReverseDiff (loaded in the test) pirating fill (could return a TrackedArray; fixed by using fill! with an explicitly constructed Array), and many potentially undefined variables in the Fminbox implementation. For now I just unrolled the first iteration, but possibly it could be refactored in some way.

@github-actions
Copy link
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
master 863dc43... master / 863dc43...
multivariate/solvers/first_order/AdaMax 0.487 ± 0.0058 ms 0.489 ± 0.0059 ms 0.997 ± 0.017
multivariate/solvers/first_order/Adam 0.486 ± 0.0058 ms 0.487 ± 0.006 ms 0.998 ± 0.017
multivariate/solvers/first_order/BFGS 0.26 ± 0.0056 ms 0.261 ± 0.0055 ms 1 ± 0.03
multivariate/solvers/first_order/ConjugateGradient 0.168 ± 0.0037 ms 0.167 ± 0.0033 ms 1 ± 0.03
multivariate/solvers/first_order/GradientDescent 1.54 ± 0.0082 ms 1.55 ± 0.008 ms 0.998 ± 0.0074
multivariate/solvers/first_order/LBFGS 0.228 ± 0.0053 ms 0.227 ± 0.0051 ms 1 ± 0.033
multivariate/solvers/first_order/MomentumGradientDescent 2.18 ± 0.013 ms 2.2 ± 0.013 ms 0.988 ± 0.0085
multivariate/solvers/first_order/NGMRES 0.438 ± 0.0078 ms 0.431 ± 0.0082 ms 1.02 ± 0.026
time_to_load 0.397 ± 0.0085 s 0.395 ± 0.0043 s 1 ± 0.024
Memory benchmarks
master 863dc43... master / 863dc43...
multivariate/solvers/first_order/AdaMax 0.34 k allocs: 7.16 kB 0.34 k allocs: 7.16 kB 1
multivariate/solvers/first_order/Adam 0.34 k allocs: 7.16 kB 0.34 k allocs: 7.16 kB 1
multivariate/solvers/first_order/BFGS 0.36 k allocs: 15.5 kB 0.36 k allocs: 15.5 kB 1
multivariate/solvers/first_order/ConjugateGradient 0.362 k allocs: 14.2 kB 0.362 k allocs: 14.2 kB 1
multivariate/solvers/first_order/GradientDescent 2.09 k allocs: 0.0759 MB 2.09 k allocs: 0.0759 MB 1
multivariate/solvers/first_order/LBFGS 0.341 k allocs: 14.7 kB 0.341 k allocs: 14.7 kB 1
multivariate/solvers/first_order/MomentumGradientDescent 2.45 k allocs: 0.0818 MB 2.45 k allocs: 0.0818 MB 1
multivariate/solvers/first_order/NGMRES 1.56 k allocs: 0.117 MB 1.56 k allocs: 0.117 MB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

A plot of the benchmark results has been uploaded as an artifact at .

@codecov
Copy link

codecov bot commented Nov 21, 2025

Codecov Report

❌ Patch coverage is 59.30233% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.42%. Comparing base (67320a2) to head (863dc43).

Files with missing lines Patch % Lines
src/multivariate/solvers/constrained/fminbox.jl 58.33% 35 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1209      +/-   ##
==========================================
- Coverage   87.80%   87.42%   -0.38%     
==========================================
  Files          45       45              
  Lines        3517     3548      +31     
==========================================
+ Hits         3088     3102      +14     
- Misses        429      446      +17     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@devmotion devmotion marked this pull request as ready for review November 22, 2025 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant