[ADMB Users] Compiler benchmarks March 2010

Arni Magnusson arnima at hafro.is
Thu Mar 18 18:41:26 PDT 2010


I have updated the compiler benchmarks page, 
http://admb-project.org/community/benchmarks.

Linux64 performed 64% faster than Windows XP. In Windows, GCC and Visual 
C++ performed equally well, much better than Borland.

---

In my opinion, GCC and Visual C++ have strengths and weaknesses that 
people will evaluate differently, depending on programming background, 
needs, taste, and ideology:

GCC
free software
ADMB-IDE and command line interface
learn one compiler to build programs in all operating systems
neat installation puts compiler in a single contained directory
primitive debugger (gdb)
external help only (pdf manuals and websites)

Visual C++ Express
proprietary software
GUI and command line interface
can only build programs in Windows
messy installation affects hundreds of directories and registry entries
good debugging facilities
internal help (f1) available

I wouldn't want to criticize the Borland compiler, given its historical 
glory, but it just doesn't seem to have any particular strengths compared 
to GCC and Visual C++, or am I missing something?

ADMB and Borland have a long history, and I'm not suggesting any radical 
changes, but the world has moved on since Borland C++ 5.5 was released in 
2000. GCC has entered the mainstream (conveniently available at 
http://admb-project.org/community/related-software/gcc.zip/view or fully 
configured with ADMB-IDE), and Visual C++ Express is available for free. 
With every new version, these compilers have added new features of the C++ 
language. Borland's antiquity, apparent lack of strengths, and poor 
performance in the benchmarks is worth mentioning and considering.

My intention is not to start an all-out "compiler war". For most 
statistical modelling purposes, the differences between the compilers are 
of no importance. We should embrace diversity, because like species, 
programs tend to evolve in unexpected ways. I have also seen cases where a 
model would not converge until I tried compiling it with a different 
compiler.

Arni



More information about the Users mailing list