Reuse Xojo's cache between releases to speed up first-compile time possible?

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.

Any thought?

1 Like

You could support the feedback case to have Xojo not recreate rbx cache files on every start.

1 Like

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).

See case here:
61561 - Keep rbxcache files and don’t rebuild them if plugin didn’t change

54348 - Make plugin precompilation faster


Thank you. The former is a good one.

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)?

I’ve added 60 points to this one. Up to 73rd rank now.

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.

1 Like

Added 75, up to 38th now.

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.