With plugins installed, especially the MBS set, Xojo takes several minutes with the CPU at 100% for the “preparing plugins” phase and I sometimes find this annoying.
Subsequent compilations take less time because of caching.
But, I’m wondering: do these caches actually change between two consecutive releases? Wouldn’t it be possible to just rename the cache folder of the previous release so the new one just use it?
I recognise the file format may change at some point; this would just be a trial-and-error method (if it works, use it; if it breaks, clear the cache and restart).
As a similar idea, couldn’t Xojo use versioning and, when the caches format don’t change between two releases, don’t discard the previous cache?
I don’t know how the cache is being used and it might be a bad idea if it’s designed to be release-specific; but if it’s not release-specific, then we would gain time.
Ah, yes, there’s also a similar problem at every start. However, I’m talking about new release installations.
Just after you download Xojo, install the plugins, launch Xojo and want to debug/compile a project, there’s a “Preparing plugins…” phase in a moveable window (not the plain box window you see at every start; rather, the one for the first compile with new plugins installed).
This “Preparing plugins…” phase converts plugins, IIRC. But the conversion could be “ported” to new releases.
As for supporting the case you mention, yes, it’s also a thing I want to do (if not already done).
Thanks.
The latter, though, doesn’t talk about caching for the first compilation after an install. What does Xojo at that time (at the “Preparing plugins…” stage on first debug/build)?
On every launch of Xojo it reads the plugin class definitions and writes a cache file. It should cache those and only recreate them if needed. This should make startup as fast with plugins as without.
Second the split to do plugin pre-compilation via workers should help a lot. It means that Xojo creates interface code to the plugins and pushes it through LLVM and stores the intermediate results.
Every time I install a new Xojo version, I create a new desktop app, select all platforms that I can and Build. I then have to select the alternate Windows and Linux options and o it again. Having this simplified would definitely be a plus.