Hi all,

I've built mingw with -DHB_USE_TLS (the rest is default),
then I got 'undefined reference to '__emutls_get_address'
errors on linking. Such symbol doesn't BTW exist in MinGW
4.3.2 supplied libs.

Then I went with the fully default build, and it worked okay.

Final mingw speedtst results are:
ST: 64.06
MT: 87.42

Here are some Windows compiler comparison results
(speedtst / Total application time)
=================================================

1.1.0 (r9488)

- -DHB_NO_DEBUG [ -DHB_NO_TRACE is default ] -DHB_FM_STATISTICS_OFF - DHB_FM_DL_ALLOC - Harbour: -l -gc3 [I didn't mean to test with -gc3, but I had it there for production, and forgot about it]
- MSVS switches: (all default C mode)
- GCC switches: -O3 -fomit-frame-pointer -ffast-math -march=pentiumpro
- BCC switches: -6 -OS -Ov -Oi -Oc -Q -tWM

Compiler     ST     MT overhead
-------- ------ ------ --------
MSVS2008  32.41  46.09      42%
GCC432 46.58 66.02 41% [NOTE: GCC doesn't have TLS support AFAIK]
BCC58     52.64  72.75      38%

1.0.1 (release)

- -DHB_NO_DEBUG -DHB_NO_TRACE [ -DHB_FM_STATISTICS_OFF is default ]
- Rest of switches same as above.

Compiler     ST
-------- ------
MSVS2008  41.06
GCC432    53.25
BCC58     52.80

Basically I'm getting a consistent 36-42% MT overhead with all
compilers, so I wouldn't be surprised if overhead would highly
depend on exact CPU model and maybe Windows version.

The other conclusion is that MSVS2008 seems to generate far
the best code, 1.1.0 MT mode even beats 1.0.1 ST mode with all
compilers.

[ Would be interesting to see how removing -gc3 would change
above results, but I'll leave that for another time. ]

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to