Longer linking time and bigger assembly after updating to v5.2.1 on OSX?


#1

I currently working on a new project and updated from something like 5.1.0 to JUCE 5.2.1. I noticed that compilation takes much longer than before and the assembly in release build is around twice the size.
I’m not sure if this is JUCE related maybe also a problem on my side. I’m using projucer to manage the project.

I’m interested if someone else noticed something similar?


#2

Since 5.2.1 link-time optimisation is enabled by default for release builds, which can lead to an increase in linking time. You can disable it in the release configuration settings of your exporter in the Projucer -


#3

Thanks for the information. That was it.


#4

One more question. Is this link optimisation useful for plugins? Does this speed up loading times and maybe UI redrawings?


#5

Ideally it would allow the linker to “inline” functions and optimize calls between cpp modules. However I am not really seeing big performance gains and build times are indeed lengthy. IMHO the same feature on Visual Studio does a much better job performance-wise. There it’s a no-brainer to use it, but on XCode it’s maybe not as clear. If you are anyway using templated code and lots of inlining the added compile time and especially the larger binaries might not be worth it.