Conversation
|
pre-commit.ci autofix |
|
Oh this is very promising -- how stable are these timings? Do you think it would be worth making a test that ensures (for this test case) |
Locally, they are within a 3 second window so we could make a timing test, though I am not sure how common that is?We could also provide a timing script to be run whenever someone touches the HTF, which should not be often. Any preference @atravitz ? |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1858 +/- ##
==========================================
- Coverage 94.79% 91.93% -2.87%
==========================================
Files 205 205
Lines 17957 17935 -22
==========================================
- Hits 17022 16488 -534
- Misses 935 1447 +512
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
With bccc53c the timings are now
|
|
There are a few ways to track regressions, one cool way is to make sure the algo doesn't change the way it scales: https://pythonspeed.com/articles/big-o-tests/ but we don't really have things set up to make that easy (but it would be good to know how the HTF scales with system size, so it might be worth doing) |
I like the idea of a timing script for now. I want us to add performance benchmarking like this, but structure is TBD, so pop it in the |
|
No API break detected ✅ |
Try to speed up the HTF creation, targeting the torsion force and nonbonded exceptions as they scale terribly with system size. Local testing on a small protein-ligand system shows good improvements
Main
This branch
We probably need the tests in #1856 to confirm that nothing is broken with these changes.
TODO
Checklist
newsentry, or the changes are not user-facing.pre-commit.ci autofix.Manual Tests: these are slow so don't need to be run every commit, only before merging and when relevant changes are made (generally at reviewer-discretion).
Developers certificate of origin