Why Dev-C++ + MinGW + wxWidgets 2.6.0 are so slow?

Do you have a question about makefiles, a compiler or IDE you are using and need to know how to set it up for wxWidgets or why it doesn't compile but other IDE's do ? Post your questions here.
Post Reply
Lestat
Experienced Solver
Experienced Solver
Posts: 68
Joined: Tue Apr 26, 2005 1:04 am
Location: Kemerovo, Russia

Why Dev-C++ + MinGW + wxWidgets 2.6.0 are so slow?

Post by Lestat » Thu Apr 28, 2005 12:57 pm

When I was using 2.4.2, building was really slow, but with 2.6.0 it is awfully slow. And not only compiling, but linking too. What is the basis of this problem?

P.S. Athlon 1200; 256 SDR SDRAM

Lestat
Experienced Solver
Experienced Solver
Posts: 68
Joined: Tue Apr 26, 2005 1:04 am
Location: Kemerovo, Russia

Post by Lestat » Thu Apr 28, 2005 12:59 pm

I should mention that my project on this stage is tiny: 500 lines of C++ code.

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Re: Why Dev-C++ + MinGW + wxWidgets 2.6.0 are so slow?

Post by upCASE » Thu Apr 28, 2005 1:38 pm

Hi!
Lestat wrote:When I was using 2.4.2, building was really slow, but with 2.6.0 it is awfully slow. And not only compiling, but linking too. What is the basis of this problem?

P.S. Athlon 1200; 256 SDR SDRAM
True... gcc is not the fastest compiler. It takes about 12 minutes to compile wxWidgets on my 3 GHz Pentium, will it is compiled in about 2 minutes using VC++ 7.1. It's a compiler problem and wxWidgets is quite a big lib. I hope to see gcc 4.0 on Windows soon. It's said be about 25% faster then 3.4.2.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

User avatar
ABX
Can't get richer than this
Can't get richer than this
Posts: 810
Joined: Mon Sep 06, 2004 1:43 pm
Location: Poznan, Poland
Contact:

Re: Why Dev-C++ + MinGW + wxWidgets 2.6.0 are so slow?

Post by ABX » Thu Apr 28, 2005 1:45 pm

Lestat wrote:When I was using 2.4.2, building was really slow, but with 2.6.0 it is awfully slow. And not only compiling, but linking too. What is the basis of this problem?
2.6 has more classes, more libs, more options.

ABX
CVS Head, 2.8.X
wxMSW, wxWinCE, wxPalmOS, wxOS2, wxMGL, bakefile
gcc 3.2.3, bcc 5.51, dmc 8.48, ow 1.6, vc 7.1, evc 3/4, pods 1.2

Lestat
Experienced Solver
Experienced Solver
Posts: 68
Joined: Tue Apr 26, 2005 1:04 am
Location: Kemerovo, Russia

Post by Lestat » Thu Apr 28, 2005 4:35 pm

It's a compiler problem and wxWidgets is quite a big lib.
Not only. I notice that linking with 2.6.0 became seriously slower. But this point isn't understandable for me. Program size remain the same, but linking time increases.

Avi
Super wx Problem Solver
Super wx Problem Solver
Posts: 398
Joined: Mon Aug 30, 2004 9:27 pm
Location: Tel-Aviv, Israel

Post by Avi » Thu Apr 28, 2005 5:27 pm

Maybe the STL'ish classes are used by default now? Or am I wrong? I read that they are making stuff bigger and slower... :oops:

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Fri Apr 29, 2005 6:23 am

Hi!
Avi wrote:Maybe the STL'ish classes are used by default now? Or am I wrong? I read that they are making stuff bigger and slower... :oops:
I think this is true. RTTI and exceptions are enabled too, which in turn makes longer compile times AND bigger apps.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Re: Why Dev-C++ + MinGW + wxWidgets 2.6.0 are so slow?

Post by leio » Fri Apr 29, 2005 8:09 pm

upCASE wrote:True... gcc is not the fastest compiler. It takes about 12 minutes to compile wxWidgets on my 3 GHz Pentium,
Really? I do it in 3 minutes 10 seconds with a 2.8GHz PentiumHT downclocked to 2.35GHz due to a faulty unit. 512MB 400MHz RAM (one chip, no dualDDR therefore). That's on linux.
upCASE wrote:will it is compiled in about 2 minutes using VC++ 7.1. It's a compiler problem and wxWidgets is quite a big lib. I hope to see gcc 4.0 on Windows soon. It's said be about 25% faster then 3.4.2.
No, not really.
While 3.4.2 (with patches making it almost equal to 3.4.3) compiles wx in 3 minutes and 10 seconds, gcc4 compiles it in 3 minutes and 5 seconds.
However IF C++ visibility support would be properly used, that would drop further. I expect more gains in the compilation speeds once Tree-SSA optimizations and other things mature in gcc4, somewhere around gcc-4.1 perhaps.
The greatest speed-up I know of is going from gcc-3.3 to gcc-3.4 (precompiled headers). gcc4 mostly speeds up runtime performance and dynamic linking speed (IF visibility support is properly used, which is not the case for wx).

Also the STL stuff that is now default on some ports slows things down.

As for compilation speed of applications (as opposed to the lib itself), setting up precompiled headers support would be a good place to start.
I have some post about it in the "_putchar redefined" thread.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/

buildere
Super wx Problem Solver
Super wx Problem Solver
Posts: 358
Joined: Thu Oct 28, 2004 3:45 pm
Location: Costa Rica

STL?

Post by buildere » Sat Apr 30, 2005 1:10 am

So, what is the benefit from using STL classes? I always heard Templates perform like crap. Even on wxWidgets documentation I recall reading that it was an advantage of this library that it doesn't use STL .... :?:

travfar
Earned some good credits
Earned some good credits
Posts: 132
Joined: Mon Apr 04, 2005 12:54 am
Location: California
Contact:

Post by travfar » Sat Apr 30, 2005 1:48 am

hi! Just my two cents. On my 2 Ghz computer, wxmsw 2.6 programs compile in 5 minutes. I have a monolithic build if that counts. :wink: :wink:

EDIT: BTW i am using Dev-c++ too
I see said the blind man to the deaf girl who was mute.

Visit my project at: http://vwp.sourceforge.net

wx version:2.6.2 and 2.6.3 on linux
OS's:Windows XP, Gentoo is the best!!!!!!
compiler:Codeblocks(MingW32) and gcc on linux

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Sat Apr 30, 2005 8:40 am

I picked this off the wx-users list;
Hello.

For those interested -- I just wanted to share some news about building the MSW port with the newest MinGW GCC 4.0.0. There's no official MinGW release yet, so this is in regards to a home-made, unofficial GCC build from FSF sources, using the MinGW tools on Windows XP Professional SP2.

Using the "configure method" and sources obtained from CVS Head on Apr. 22, the library build worked without problems (kudos to developers!), both in debug and release modes. There were some occasional warnings about classes with virtual functions and non-virtual destructors.

Compared with doing the build with MinGW GCC 3.4.2 and 4.0.0, there are some time savings -- the 4.0.0 compiler is faster. When building the MSW libraries under the exact same conditions, the only difference being the compiler toolchain used, the whole process (configure immediately followed by make) was about 19% faster for debug libraries (-g -O0) and about 11% faster for release libraries (-O2). Given my particular configuration, during the build, among other things done, there were 339 source files compiled and 11 libraries built in each category.

Best regards.

--
Wlodek Szafran
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

j_pilborough
Knows some wx things
Knows some wx things
Posts: 27
Joined: Thu May 26, 2005 10:39 am
Contact:

Post by j_pilborough » Thu May 26, 2005 10:56 am

True... gcc is not the fastest compiler. It takes about 12 minutes to compile wxWidgets on my 3 GHz Pentium, will it is compiled in about 2 minutes using VC++ 7.1. It's a compiler problem and wxWidgets is quite a big lib. I hope to see gcc 4.0 on Windows soon. It's said be about 25% faster then 3.4.2.
My poor old Win98/GCC 3.2.3+400Mhz Pentium took over 6 hours to compile wxwindows 2.4.2 in dynamic form, including 3 hours just to link the dll. :oops:

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Thu May 26, 2005 11:13 am

Sounds also like a memory problem. But yes, old PC's are simply not cutting it anymore nowadays. I had an old laptop which even failed to load the wx-project! Can you imagine that!? It crashed upon loading the VS6 projects ... :roll:
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

Post Reply