mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-04 22:31:02 +00:00
Installing one entry is a config copy, the entry's diff applied over it, normalization and an invalid-key scan. For the largest vendor that is around 2000 filaments at about 115 us each, and all of it reads state that does not change while the collection loads. load_vendor_preset splits into resolve_vendor_preset, which flattens an entry and touches nothing shared, and commit_vendor_preset, which installs it. A cache load installs the entries others inherit from first, since what those register is what the rest resolve against, then resolves the rest together and commits them one at a time. The JSON parse calls the two back to back as before. On a 16-core desktop with 4263 system presets installed, preset loading goes from 644-652 ms to 370-376 ms, and a bundle loaded either way comes out identical, preset for preset and option for option.
OrcaSlicer tests
Building, running and writing tests is documented on the wiki, under How to Test.
Two files here rather than there, because coding agents only read what is in the repository: