|
|
Home » Developing U++ » Releasing U++ » mingw?
|
|
|
|
|
|
|
|
|
|
|
|
Re: mingw? [message #22148 is a reply to message #22124] |
Fri, 19 June 2009 16:31   |
|
koldo wrote on Fri, 19 June 2009 00:08 | Hello Sender Ghost
I have put the little benchmark in Upp "Bombs" example and it worked well without and with -msse2 (with this it worked three times faster).
...........
Any way I suggest anybody to update MinGW as much as possible.
And it also would be good to:
- either add to "Speed" option more optimisations like "-msse2" or "/arch:SSE2"
- or add other option like "Max Speed" (or other name) to include maximum optimizations that are less reliable, like -msse2 in your computer.
I do not know if there are more configurations, but I have been very surprised. Look in MSC9 test: from 17.3 to 2.1 seconds
Best regards
Koldo
|
Very interesting things. I agree to add this option to "Speed" when autobuild (Automatic setup), do not need to add new option "Max Speed".
For me works fine and speed time is more faster. can you tell how to upgrade minGW for u++? is any specific configuration or is standard installation of minGW?
|
|
|
|
|
Re: mingw? [message #22153 is a reply to message #21939] |
Fri, 19 June 2009 22:44   |
 |
koldo
Messages: 3435 Registered: August 2008
|
Senior Veteran |
|
|
Hello all
One thing I did not know:
- TheIde compiled with MSC can debug MinGW and MSC
- TheIde compiled with MinGW can debug MinGW but hungs trying to debug MSC.
In the last case TheIde outputs an Exclamation window with "Error invoking gdb !", strange as I am trying to compile with MSC.
This is in the file gdb.cpp:
bool Gdb::Create(One<Host> _host, const String& exefile, const String& cmdline)
{
host = _host;
dbg = host->StartProcess("gdb " + GetHostPath(exefile));
if(!dbg) {
Exclamation("Error invoking gdb !");
return false;
}
Gdb::Create is called in the same file in:
One<Debugger> GdbCreate(One<Host> host, const String& exefile, const String& cmdline)
{
Gdb *dbg = new Gdb;
if(!dbg->Create(host, exefile, cmdline)) {
delete dbg;
return NULL;
}
return dbg;
}
And GdbCreate is called in file Debug.cpp in:
void Ide::BuildAndDebug(bool runto)
{
...
#ifdef COMPILER_MSC
debugger = builder == "GCC" ? GdbCreate(host, target, runarg) : PdbCreate(host, target, runarg);
#else
debugger = GdbCreate(host, target, runarg);
#endif
So it seems the code forces to use Gdb although the compiler used is MSC. This could be the problem.
Best regards
Koldo
Best regards
Iñaki
|
|
|
Re: mingw? [message #22154 is a reply to message #22152] |
Fri, 19 June 2009 23:05   |
Sender Ghost
Messages: 301 Registered: November 2008
|
Senior Member |
|
|
Hello, Koldo.
TheIDE in Optimal mode will compile packages and selected files with "Optimize for speed" option using defined compiler string (by default: "-O3 -ffunction-sections") and other files with "Optimize for size" compiler string (by default: "-Os -finline-limit=20 -ffunction-sections") as installed in Build methods for GCC builder.
When we use SSE2 flag in main package configuration TheIDE will add "-msse2 -mfpmath=sse" string to compiler options (both for speed and size).
I suggested to use O2 compiler option instead of O3 when using SSE2. Because in my configuration, e.g. TheIDE and AddressBook, U++ GUI application crashes when started. The cause can exists in following areas:
- GCC compiler itself;
- U++ algorithms which used in GUI applications (area can be limited by "Opimize for speed" files);
- Operating system;
- Hardware configuration.
Yes, I can run Bombs U++ GUI application, but it crashes when I click on "Game" submenu.
[Updated on: Sat, 20 June 2009 09:25] Report message to a moderator
|
|
|
|
|
|
Goto Forum:
Current Time: Sun May 11 15:08:59 CEST 2025
Total time taken to generate the page: 0.00950 seconds
|
|
|