Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » Using BLITZ in release mode
Using BLITZ in release mode [message #29348] Fri, 15 October 2010 19:16 Go to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
Previously BLITZ wasn't used in Release mode because that was leading to big executables caused by inefficient linking. Since somebody suggested using of -ffunction-sections -fdata-sections -Wl,--gc-sections options that shouldn't be a problem any more (IMHO).

Unfortunately, an attempt to enable BLITZ for Release mode in the Build Mode configuration doesn't seem to affect build process. TheIDE still continue to compile packages file by file.

Is there a way to enable BLITZ in Release mode?

TIA


Regards,
Novo
Re: Using BLITZ in release mode [message #29352 is a reply to message #29348] Fri, 15 October 2010 21:40 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Novo wrote on Fri, 15 October 2010 19:16

Previously BLITZ wasn't used in Release mode because that was leading to big executables caused by inefficient linking. Since somebody suggested using of -ffunction-sections -fdata-sections -Wl,--gc-sections options that shouldn't be a problem any more (IMHO).

Unfortunately, an attempt to enable BLITZ for Release mode in the Build Mode configuration doesn't seem to affect build process. TheIDE still continue to compile packages file by file.

Is there a way to enable BLITZ in Release mode?

TIA


Hi Novo,

For me it works correctly. I think the problem might be somewhere else... Are you sure that the modification times of the files are older than one hour?

Best regards,
Honza
Re: Using BLITZ in release mode [message #29354 is a reply to message #29352] Fri, 15 October 2010 22:38 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
dolik.rce wrote on Fri, 15 October 2010 15:40


For me it works correctly. I think the problem might be somewhere else... Are you sure that the modification times of the files are older than one hour?



I figured out what's the problem. Besides Build Mode BLITZ should also be enabled in Output Mode. Unfortunately, this will create a separate GCC.Blitz.Gui.Shared configuration, which is not created in case of Debug Mode. Sad

Otherwise it works pretty well. Smile

Overhead in case of TheIDE is ~12k and ~40k in case of a small console application. This is acceptable.


Regards,
Novo
Re: Using BLITZ in release mode [message #29355 is a reply to message #29354] Fri, 15 October 2010 22:52 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Actually all you need to do set blitz mode in Output mode:) I thought you know that... The separate directory in uppout should be even in case of debug mode (as you can turn it of in debug if you like). I'm not sure if there is some other reason than that blitz mode sets BLITZ flag and any additional flag will cause a new directory to be created.

BTW: I am very happy about the overheads you report - I thought it is much more Smile

Honza
Re: Using BLITZ in release mode [message #29362 is a reply to message #29355] Sat, 16 October 2010 03:57 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
dolik.rce wrote on Fri, 15 October 2010 16:52

Actually all you need to do set blitz mode in Output mode:) I thought you know that...



I thought "Build Mode" value is a default value and "Output Mode" is an override value ... I'm still confused.


Regards,
Novo
Re: Using BLITZ in release mode [message #29371 is a reply to message #29362] Sat, 16 October 2010 11:02 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Novo wrote on Sat, 16 October 2010 03:57

dolik.rce wrote on Fri, 15 October 2010 16:52

Actually all you need to do set blitz mode in Output mode:) I thought you know that...



I thought "Build Mode" value is a default value and "Output Mode" is an override value ... I'm still confused.


I am not entirely sure what you mean (and I don't have theide at hand today Confused ) but the buildmode dropdown and output mode dialog set the same thing. "Output mode" just let's you set more additional details, like using Blitz, shared/static linking etc.

Honza
Re: Using BLITZ in release mode [message #29379 is a reply to message #29371] Sat, 16 October 2010 16:50 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
dolik.rce wrote on Sat, 16 October 2010 05:02


I am not entirely sure what you mean (and I don't have theide at hand today Confused ) but the buildmode dropdown and output mode dialog set the same thing. "Output mode" just let's you set more additional details, like using Blitz, shared/static linking etc.

Honza


I meant "Setup -> Build methods" and "Build -> Output mode" dialogs. They both let you set up a BLITZ flag.


Regards,
Novo
Re: Using BLITZ in release mode [message #29410 is a reply to message #29379] Tue, 19 October 2010 10:51 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1758
Registered: August 2008
Location: Czech Republic
Senior Contributor

Hi Novo,
Sorry it took me so long to answer. I had to read theide sources to figure out which of those two ways to set BLITZ mode does what.

I believe that you were right about "Build method" -> "Use Blitz" being default which is overwritten by the "Output mode" setting. If I understand right, the catch is that the default value from build method is actually only used once, when first creating the output mode dialog. Since the dialog contents are saved and loaded again next time and the blitz value in output mode has a bigger priority it probably results in always using the value from "Output mode".

I hope I understood it right. It looks to me like a little design flaw, maybe it should be fixed. This setting should be probably only in the output mode dialog, as it allows finer settings (per package) and removed from "Build methods". This thing is quite complicated (both for user and in the sources) and might cause confusion.

Anyway, for short: Setting the blitz usage in "Output mode" dialog should be always working, regardless of the state of the "Build methods" default.

Honza
Re: Using BLITZ in release mode [message #38664 is a reply to message #29348] Wed, 02 January 2013 21:34 Go to previous messageGo to next message
lectus is currently offline  lectus
Messages: 329
Registered: September 2006
Location: Brazil
Senior Member
Sorry for resurrecting this thread, but I have a question:

How does BLITZ work exactly?

It's very interesting that U++ is the first framework that I see building so fast. The first time I used U++ I didn't notice that it was building the entire library. It really surprised me.
Re: Using BLITZ in release mode [message #38665 is a reply to message #38664] Wed, 02 January 2013 21:44 Go to previous message
Novo is currently offline  Novo
Messages: 890
Registered: December 2006
Experienced Contributor
lectus wrote on Wed, 02 January 2013 15:34


How does BLITZ work exactly?



http://www.ultimatepp.org/app$ide$Blitz$en-us.html


Regards,
Novo
Previous Topic: Can't build SMTP example under VS2012
Next Topic: Help: custom build
Goto Forum:
  


Current Time: Sun Nov 17 11:01:46 CET 2019

Total time taken to generate the page: 0.03819 seconds