App Size

Trying out Xojo 2017 compared to 2015, I compiled the same app as 64bit on both.
Same code, same graphics.
2015 edition - 84Mb
2017 edition - 284 mb
What the heck happened?

Fluctuations

A fluctuation implies that something goes up and down. Both Xojo itself and the Xojo made apps get larger and larger. My app nowadays is roughly the same size. Got more helper apps though that contribute at least 70 MB .

Run it through App Wrapper with the cleaning setting set to 64-Bit only, this will strip all and any 32-Bit code. Be warned it’s not yet smart enough to NOT strip 32-Bit code from 32-Bit only applications (it’s on my to-do list).

Thats my default setting. The sizes in both cases are after that.

Looking inside the bundle, the build from 2015 produces an app in the MacOS folder which is 28Mb
The 2017 edition (aggressive compile) produces an app in there of 171Mb
Thats 150Mb of extra ‘doing nothing that I can identify’ stuff. Crazy

Good man.

[quote=390696:@Jeff Tullin]The 2017 edition (aggressive compile) produces an app in there of 171Mb
Thats 150Mb of extra ‘doing nothing that I can identify’ stuff. Crazy[/quote]
Oh okay, explains it, aggressive is not for an aggressively small application, its for faster computation, so some of your code is actually written out in a more expanded way, but for faster processing time.

i.e. Loop unrolling, if you have fixed code that operates on a fixed number of items, say.

For l as integer = 0 to 100 DoThang Loop

Which would become

DoThang DoThang DoThang ....

Loops are convenient, but for some reason (which I’m sure @Joe Ranieri can explain) they’re slow. And that’s just one way the compiler will optimize the code for execution.

Have you compared with a default compiler’d version?

Holy inflation, Batman!
I have loops that hit a million iterations…
Gonna go check that optimisation setting now…

Jeff:

did you try the Windows compile comparison ?

Still using 2015 on Windows.
Only reason I am upgrading on Mac is a 64bit crash in 2015 which 2017 seems to resolve.
I’m currently unit testing for unexpected changes using that compiler.

Default compiler is about ‘normal’ size.