More Experiments - Win32 + GCC 4.3.3

BlitzMax Forums/Brucey's Modules/More Experiments - Win32 + GCC 4.3.3

Brucey(Posted 2009) [#1]
As part of my BMK NG project, I've been experimenting with using MinGW with GCC 4.3.3 instead of the GCC 3.x that we currently use with BlitzMax.

BMK requires some tweaks in order to ensure all the static libraries are included in the correct order.
It appears to work great!
Everything compiles up fine, and apps run as expected. Yay!

Advantages?
Well, the compiler is much better than it used to be. More efficient, more optimized binaries. Tighter coding standards. All good stuff.

Of course, many BlitzMax apps won't see very much benefit if they aren't using external C/C++ libraries - as most of their executing code will be BlitzMax (bcc generated assm) (with a dabble of C/C++ when needed).


Two thumbs up from me :-)


degac(Posted 2009) [#2]

many BlitzMax apps won't see very much benefit if they aren't using external C/C++ libraries


One good reason for Mark-BRL: Max3d is C based...(if I have understood you correctly...)


Brucey(Posted 2009) [#3]
Disadvantages ?

A few of my modules have issues building on GCC 4.x on Windows, because the libraries that they wrap require some tweaking to get them to compile.
Which is a rather painful process to sort out (for me).

I suppose it all depends what you need. But I'd prefer everything *just works*.

I'll call this branch of research, Alpha, for now :-p


Grisu(Posted 2009) [#4]
Will BRL switch to GCC 4.x at some time as well?


Brucey(Posted 2009) [#5]
Probably not until GCC 4.x is officially released by the MinGW folks.

At the moment, it is still in beta. (And has been for a looong time!)
But there are other places where you can download a working version of MinGW with GCC 4.x.


Armitage 1982(Posted 2009) [#6]
Disadvantages ?

A few of my modules have issues building on GCC 4.x on Windows, because the libraries that they wrap require some tweaking to get them to compile.
Which is a rather painful process to sort out (for me).


Does that mean you gonna tweak all of your modules in a near futur ?
So Sanity revisions of SVN is expected ?

By the way do you think that any performance gain is possible with the c based modules like LibXML, Locale, Regex, CEGUI or Box2D (the 5 main modules used in my software as you know) ?
It's always good to know if things could run even faster :)


Brucey(Posted 2009) [#7]
Does that mean you gonna tweak all of your modules in a near futur ?

I've tweak a few of them.

Some of them appear to need a *lot* of work, and I don't really have the time or energy to dig deep in other people's library source code...

do you think that any performance gain is possible

From the snippets I've read online, it seems that GCC 4.x is at least as fast as Visual C++ 2008.


xlsior(Posted 2009) [#8]
Some googling around does appear to indicate that GCC 4 can be noticably faster than GCC 3...


Grisu(Posted 2009) [#9]
http://gcc.gnu.org/gcc-4.0/changes.html

We need a GCC 4 community task force. :O)


Brucey(Posted 2009) [#10]
Except you aren't likely to see very much in the way of a speed-up with the basic BlitzMax because most of the code you run will be assembler generated by bcc.

However, if you are relying heavily on other libraries (in C or C++), then you may reap some benefits.


slenkar(Posted 2009) [#11]
minib3d might be faster? dont know how much though, it might only be 5% or something.


Brucey(Posted 2009) [#12]
It might be a little faster, yes. Although code which relies on more C/C++ will benefit more, since the new compiler can presumably generate better binaries from it.