On Sat, Apr 7, 2012 at 9:50 AM, Roger Rowlett <rrowl...@colgate.edu> wrote: > I don't know the state of current software, because I haven't tried > recently, but when I set up my student crystallography workstations a few > years back I noticed many packages (e.g. EPMR, Phaser) that had potentially > long run times (where it is really noticeable) would run on the identical > hardware about 2-3 times faster in Linux than in Windows XP. Memory swapping > wasn't the issue. I was astounded there could be that much overhead in > Windows. A Linux VM on a windows machine being faster than native Win7 is > pretty weird, though.
Different compiler implementations will often have a huge effect on runtimes. I recently spent some time trying to get a large amount of C++ code (converted from F77) to compile under Visual C++ 9.0, and I had to disable optimization of at least ten different functions to prevent cl.exe from crashing. This was not especially complex code (and g++ never complains) - just nested 'for' loops over three dimensions. I did not attempt to compare runtimes since I was running Windows in a virtual machine on a Mac, but I would be surprised if the resulting Windows binaries were not slower on identical hardware. And even if the compiler isn't broken, the math libraries may be; one of my colleagues found (on Linux) that the exp() function provided by g77 was 20-fold slower than the equivalent in the Intel math library. So I suspect it is related to the compilers (and optimization flags) used by CCP4 for these platforms. Another good reason to avoid Windows! -Nat