Introduces two new ArchiveFile methods from a lib change:
GetFileByIndex – gets a file with direct indexing which is a huge perf bump from before
GetFileByName – gets a file with by name with a PLINQ query which is faster than just doing it regularly
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).
Closes #310 in both letter and spirit.
Introduces two new
ArchiveFile
methods from a lib change:GetFileByIndex
– gets a file with direct indexing which is a huge perf bump from beforeGetFileByName
– gets a file with by name with a PLINQ query which is faster than just doing it regularlyI 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).