Skip to content

Conversation

@dweindl
Copy link
Member

@dweindl dweindl commented Nov 12, 2025

  • Disable evaluation during substitution
  • Use xreplace instead of subs

@dweindl dweindl self-assigned this Nov 12, 2025
@codecov
Copy link

codecov bot commented Nov 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.40%. Comparing base (319efac) to head (eada362).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3025      +/-   ##
==========================================
- Coverage   78.03%   77.40%   -0.64%     
==========================================
  Files         311      311              
  Lines       20584    20587       +3     
  Branches     1499     1499              
==========================================
- Hits        16063    15935     -128     
- Misses       4511     4642     +131     
  Partials       10       10              
Flag Coverage Δ
cpp 70.33% <100.00%> (+<0.01%) ⬆️
cpp_python 36.75% <100.00%> (+<0.01%) ⬆️
petab 45.72% <85.71%> (+<0.01%) ⬆️
petab_sciml 13.66% <71.42%> (+<0.01%) ⬆️
python 69.33% <100.00%> (+<0.01%) ⬆️
sbmlsuite-jax ?

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

Files with missing lines Coverage Δ
python/sdist/amici/importers/utils.py 82.03% <100.00%> (-2.70%) ⬇️

... and 5 files with indirect coverage changes

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

@dweindl
Copy link
Member Author

dweindl commented Nov 12, 2025

For my current benchmark, this reduces the time for one smart_subs_dict call from over 21h (still running...) to ~12min.

Disabling evaluation during substitution may prevent simplification of some expressions during substitution, but those can be simplified later on.

@dweindl dweindl marked this pull request as ready for review November 12, 2025 12:41
@dweindl dweindl requested a review from a team as a code owner November 12, 2025 12:41
* Disable evaluation during substitution
* Use xreplace instead of subs

For my current benchmark, this reduces the time for one `smart_subs_dict` call from over 21h (still running...) to ~12min.

Disabling evaluation during substitution may prevent simplification of some expressions during substitution, but those can be simplified later on.
@dweindl dweindl enabled auto-merge November 12, 2025 14:05
@dweindl dweindl added this pull request to the merge queue Nov 12, 2025
Merged via the queue into AMICI-dev:main with commit 2732898 Nov 12, 2025
29 of 31 checks passed
dweindl added a commit to dweindl/AMICI that referenced this pull request Nov 12, 2025
Flatten out expressions first to avoid expensive repeated substitutions in matrices.

For my current benchmark, this yields another 10x improvement compared to AMICI-dev#3025.
dweindl added a commit to dweindl/AMICI that referenced this pull request Nov 12, 2025
Flatten out expressions first to avoid expensive repeated substitutions in matrices.

For my current benchmark, this yields another 10x improvement compared to AMICI-dev#3025.
github-merge-queue bot pushed a commit that referenced this pull request Nov 13, 2025
Flatten out expressions first to avoid expensive repeated substitutions in matrices.

For my current benchmark, this yields another 10x improvement compared to #3025.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants