“Background
“The project I’m working on is written in C++, with some Python
tools mixed in. My original development environment was Visual
Studio 2005 on Windows XP. This is already the first issue:
Updating Visual Studio or Windows is not trivial, as both the OS
upgrade as well as IDE updates require new licenses, and especially
in companies new versions are not bought immediately.“The problems became apparent when I tried to multi-thread parts
of the application. At the core, it’s doing a lot of number
crunching, in small work blocks which can be processed
independently. As I couldn’t use OpenMP due to dependency issues (a
3rd party library could not be linked when OpenMP was enabled), I
was threading manually. Unfortunately, the application had to
allocate some memory in each thread, and as it turned out, the
scaling on XP was catastrophic. While I did get a speedup from
1->3 cores, it became slower from 3->4 – clearly, I was
hitting some issues with either the scheduler or the memory
subsystem, as my code didn’t have any I/O in it.”
Switching to Linux: A Windows developer�s view
By
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends, & analysis