OK, it is the last straw that breaks the camel’s back !
With Xojo 2017r1 you can now compile to 64bit in runtime, which is great.
But, it is super annoying (read: hair pulling, hair raising, shouting out annoying) that it compiles like it does when compiling for a build.
In my case compiling my bigger projects takes between 10min and 30min in Moderate (and hours in Aggressive). So when I forgot to set it back to ‘Default’ it starts to compile for a very long time.
Again, this is utterly annoying. I have to force quit all the HoudiniAssistants to cancel the compiling, set to to Default and start compiling again.
It happened to me a trillion time now.
There is absolutely a huge need to have a separate compiling mode for runtime compiling. Xojo is really testing my nerves.
Is it possible to change the optimization level with an IDE script? If it’s possible to disable the menu shortcut you could write an IDE script and use it for the build process.
Tip #1
Refactor methods that have hundreds or thousands of lines of code by refactoring them into small ones
That has a HUGE impact on compilation speed since the more code paths there are through a chunk of code the longer it takes to compile & optimize (actually its likely the optimize time that is really slow)
[quote=326022:@Norman Palardy]Tip #1
Refactor methods that have hundreds or thousands of lines of code by refactoring them into small ones
That has a HUGE impact on compilation speed since the more code paths there are through a chunk of code the longer it takes to compile & optimize (actually its likely the optimize time that is really slow)[/quote]
Sorry, this is off-topic. I am aware and know why compiling is long when compiling to 64bit (especially using Moderate and Aggressive settings). That is not the problem.
Yeah, but the request here is
‘one setting for building a release app, and a DIFFERENT setting for debug builds for testing’
Arguably this is slightly risky as it means you are debugging something not quite the same as the release, but even so it means you can debug quickly and only have a long wait when building to ship
With the old compiler debug and build were only marginally different in that a debug run included code to talk back to the IDE but few other differences from a final build
But there is NO optimization whatsoever and so no real chance that a build could behave differently than a debug run
This is not the case with the new compiler because it does optimizations
Its entirely plausible that a debug run with no optimization could behave differently than a build with aggressive optimizations
Being able to debug with the same settings you want to ship with is valuable - and IF you find such a thing something that SHOULD be reported ASAP
Since it is possible to debug with different optimization settings you should do what you can to minimize compile time
Very large methods with thousands of lines of code are slow to compile & optimize
If you can alter that to make everything faster to compile even with optimizations on then it would seem that would be a good thing
Hence I think this is on topic and relevant to your long compile times to debug
[quote=326031:@Jeff Tullin]Yeah, but the request here is
‘one setting for building a release app, and a DIFFERENT setting for debug builds for testing’[/quote]
Yeah, it’s not an unreasonable request itself. They may end up distinct or different in some way as we wrap up our planned 64-bit support going forward.
I understand what you are saying, still there is a need for such new feature.
One of my bigger projects largest Method has 262 codes lines (thank you for the new line numbering). Most are less then 50.
This projects takes approx 8 minutes to compile in Moderate (that’s how I compile it for builds).
You do understand that it is very cumbersome to wait 8 minutes to just test/debug at runtime?
Yes, I can set it to Default when debugging but when I forgot this (and this happens a lot of times) I need to force quit all the HoudiniAssistants to make it stop compiling. Of course, a WORKING (read: immediately working) cancel button would do fine too.
@Christoph De Vocht : yikes, how large is your project? My 50k-ish main project doesn’t compile noticeably slower on 64bit compared to 32bit for default optimization. Even on my 5 year old MacBook Air the compilation is about a minute or so.
There is no cancel button but pressing Cmd-. on the Mac works more or less.
In ‘default’ it compiles about the same as 32bit. Just try compiling with the Moderate settings… yours will take at least 10 minutes (probably a lot more).