- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
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?
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page