haroohie-club / SerialLoops

An editor for Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya)
https://haroohie.club/chokuretsu/serial-loops
GNU General Public License v3.0
14 stars 6 forks source link

Improve perf with some concurrency magic #347

Closed jonko0493 closed 6 months ago

jonko0493 commented 7 months ago

Closes #310 in both letter and spirit.

Introduces two new ArchiveFile methods from a lib change:

I made sure to replace the old file lookups we had with these two. Things should load quicker in general now.

In addition, in an effort to improve project load times, I removed the ScriptUses property from all items that have it and stopped calculating script usages at load/save time. Instead, we now calculate them as part of reference lookup. It turns out that this is preferable as load times are now blazing fast and you can't really tell that reference lookups have slowed down at all except for the orphaned files dialog which still isn't that slow (and is a lower priority than opening a project anyway).

jonko0493 commented 7 months ago

Test failures are legit; will need time to investigate them.