Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Performance: MinGW vs Visual Studio 2008

renorm
Beginner
349 Views
I have 2 question.

1) Is it possible to rename tbb.dll to something else? I use both MSVS 2008 and MinGW on the same computer and there is a conflict between different versions of the library file.

2) This an issue with both TBB 2.2 and 3.0. MinGW release build outperforms Visual Studio 2008 build almost 3 times. I compiled and run the included example sub_string_finder_extended.cpp on core 2 2.33Ghz with 2 cores and the results are below.

MSVS 2008 with settings: /EHsc /MT /O2 /Oi /Ot /Gy /GF /DNOMINMAX /DNDEBUG
Serial version ran in 18.4816 seconds
Parallel version ran in 9.77236 seconds
Resulting in a speedup of 1.89121

MinGW GCC 4.5.0 with settings: -s -O2
Serial version ran in 7.29577 seconds
Parallel version ran in 3.39901 seconds
Resulting in a speedup of 2.14644

As you can see, the performance difference is about 3 times for both parallel and serial algorithms. My CPU has 2 cores but the speedup from parallelization using MinGW is greater than 2. Any ideas?

I changed some of the optimization settings, but MSVS version doesn't get any faster. Could it be that GCC does some compile time computations which MSVS doesn't?
0 Kudos
2 Replies
Vladimir_P_1234567890
349 Views
Quoting renorm
1) Is it possible to rename tbb.dll to something else? I use both MSVS 2008 and MinGW on the same computer and there is a conflict between different versions of the library file.

hi renorm,

You can rename tbb.dll by renaming $(TBB.DLL) and $(TBB.LIB) variables in windows.inc file and then re-build the tbb library and re-link your application.

--Vladimir
0 Kudos
renorm
Beginner
349 Views
Thank you Vladimir. Just what I needed.

I figured out why Visual Studio version was so slow. It is due to checked iterators, which are enabled by default even for release builds. Defining _SECURE_SCL=0 macro fixed the issue.
0 Kudos
Reply