performance.md

July 26, 2026 ยท View on GitHub

๐Ÿš€ How We Made the Solver 2 to 3 Times Faster

The solver is now 2 to 3 times faster per finished frame than the previous version (commit 97ac227, May 21, 2026). Running the same scenes on the same machine, every scene got faster: on average about 2.9x per finished frame, with a median of 2.2x, and up to 5.4x on the scenes that benefit most.

๐Ÿงช Method

  • Same scenes and settings for both versions; only the solver differed.
  • One NVIDIA L40S, scenes run one at a time so nothing competed for the card.
  • "Per frame" is the wall-clock time to finish one frame of the animation. This is the number that matters, because it is what you actually wait for.

๐Ÿ“Š Results

SceneFaster per frame
trampoline5.40x
drape5.16x
cards4.82x
friction3.75x
belt3.65x
hang3.62x
yarn3.23x
domino3.17x
roller2.55x
woven2.50x
fishingknot2.23x
stack2.23x
needle2.14x
curtain2.13x
fitting2.11x
ribbon2.06x
twist2.03x
five-twist2.01x
trapped1.94x
noodle1.91x
codim1.73x

Average: about 2.9x per finished frame, with a median of 2.2x. Nothing got slower.