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

Reply via email to