Skip to content

Conversation

@dmbates
Copy link
Collaborator

@dmbates dmbates commented Aug 21, 2025

Thanks for contributing!

Did behavior change? Did you add need features? If so, please update NEWS.md

  • add entry in NEWS.md
  • after opening this PR, add a reference and run docs/NEWS-update.jl to update the cross-references.

This adds a standalone file test/timingtable.jl that provides a function timingtable that produces a table of times and final objective values for fitting, in the default settings, four different models via four different combinations of backends and optimizers. On my computer the result is

julia> timingtable(; seconds=5)
16×10 DataFrame
 Row │ modnum  ntheta  dof   bkend   optimizer  feval  objective  time      min_obj    del_obj     
     │ Int8    Int8    Int8  Symbol  Symbol     Int64  Float64    Float64   Float64    Float64     
─────┼─────────────────────────────────────────────────────────────────────────────────────────────
   11       2    31  nlopt   LN_NEWUOA     50  2.37586e5  0.252781  2.37586e5  2.61934e-9
   21       2    31  nlopt   LN_BOBYQA     46  2.37586e5  0.232521  2.37586e5  2.85218e-9
   31       2    31  prima   newuoa        47  2.37586e5  0.238916  2.37586e5  2.21189e-9
   41       2    31  prima   bobyqa        46  2.37586e5  0.234538  2.37586e5  0.0
   52       3     6  nlopt   LN_NEWUOA     81  2.37722e5  0.437442  2.37722e5  1.27155e-7
   62       3     6  nlopt   LN_BOBYQA    107  2.37722e5  0.57735   2.37722e5  9.1095e-9
   72       3     6  prima   newuoa        92  2.37722e5  0.497863  2.37722e5  0.0
   82       3     6  prima   bobyqa       104  2.37722e5  0.566463  2.37722e5  6.40284e-10
   93       4     7  nlopt   LN_NEWUOA    196  2.37649e5  1.15493   2.37649e5  4.94765e-10
  103       4     7  nlopt   LN_BOBYQA    170  2.37649e5  1.00249   2.37649e5  9.53441e-8
  113       4     7  prima   newuoa       203  2.37649e5  1.20179   2.37649e5  0.0
  123       4     7  prima   bobyqa       173  2.37649e5  1.02845   2.37649e5  1.74623e-10
  134       5     8  nlopt   LN_NEWUOA    181  2.37647e5  1.09201   2.37647e5  4.74248e-5
  144       5     8  nlopt   LN_BOBYQA    490  2.37647e5  2.94608   2.37647e5  2.04862e-7
  154       5     8  prima   newuoa       211  2.37647e5  1.27866   2.37647e5  0.0
  164       5     8  prima   bobyqa       293  2.37647e5  1.78523   2.37647e5  5.52973e-10

The first thing to notice is that the prima optimizers produce lower objective values than the nlopt optimizers, although this may be because of the default convergence criteria choices.

@codecov
Copy link

codecov bot commented Aug 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.62%. Comparing base (42950ae) to head (05c1040).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #851      +/-   ##
==========================================
- Coverage   96.27%   95.62%   -0.66%     
==========================================
  Files          38       38              
  Lines        3654     3682      +28     
==========================================
+ Hits         3518     3521       +3     
- Misses        136      161      +25     
Flag Coverage Δ
current 95.30% <ø> (-0.65%) ⬇️
minimum 95.62% <ø> (-0.66%) ⬇️
nightly ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@dmbates
Copy link
Collaborator Author

dmbates commented Aug 21, 2025

I should point out that this change doesn't affect the package itself. It is an extra file in the test/ subdirectory that is not used in the package tests - I just stuck it in there for convenience.

@dmbates dmbates merged commit fa73f34 into main Aug 23, 2025
10 of 12 checks passed
@dmbates dmbates deleted the db/timingtable branch August 23, 2025 16:44
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.

3 participants