Test conditions:
- SVN 11150
- WinXP SP2
- default build + -DHB_FM_STATISTICS_OFF

-DHB_FM_STATISTICS_OFF is the default now.

- speedtest.exe
                       BCC          MinGW 4.4.0
Test execution    69.58 / 73.90    57.77 / 59.98
speedtst.exe size    622592     1090648 (903680 stripped)
Harbour build       4min 47sec      29min 15sec

So, GCC is 17% faster execution, 45% larger executable, 6.11 times longer compilation.

The question is: why executable size is significantly larger? Huge number of inlined functions or ...?

I'd also like to know.

However, the size difference may change for larger projects.
I seem to remember msvc was the winner here, yet it's larger
for small projects. I can no longer build my app for BCC, so
cannot give actual data, but that's also a factor we should
consider.

For me BTW, MinGW speed advantage is much bigger.

For Harbour development, it would be nice to have a better compile time also. Half an hour to check if typo is fixed is a long time.

This is true, but with our GNU Make system, this is rarely
required, since you can rebuild the changed lib only, by
issuing the make command in the corresponding source directory.

The other thing you can do, is to disable optimizations for
development with HB_BUILD_OPTIM=no.

The third thing you can do is to use msys to build for mingw,
as it always felt faster, but I didn't do any measurements.

Notice that with BCC some things aren't built, most notably
hbqt, which is huge and takes ages to compile. You can control
contribs with HB_CONTRIBLIBS envvar.

Finally, I've only kept BCC for testing while doing development,
due to fast compiling speed. I find myself using msvc for that
purpose though...

Brgds,
Viktor

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to