Frama-C news and ideas

To content | To menu | To search | Frama-C Home

Customers, customers, customers

The recent posts on extremely minor undefined behaviors in zlib neatly tie in with a discussion on John Regehr's blog about the future-proofitude of C and C++.


Another insightful post in this regard is this one by Derek Jones. Derek claims that the situation is different for proprietary compilers with paying customers. The argument rings true to me. The only proprietary compiler I know that competes with GCC or Clang in terms of aggressive optimization (at the cost of breakage of existing code) is the Intel C++ compiler. But that is not a counter-example: I did not pay for icc, nor do I know anyone who pays for it in order to use it in production.

Comments

1. On Sunday, January 27 2013, 18:22 by Phil Miller

The Intel compiler is used by a lot of people in the HPC community. Just about every supercomputing site that runs x86 hardware licenses it, because for many applications, it produces code much faster than available alternatives - I've seen 2x in some cases.

In that vein, many such sites also have the Portland Group compilers installed, again for the same reasons - some applications benefit massively from their particular suite of optimizations, and the same holds for Cray's compilers and IBM's. For an interesting look at the range of optimization success and failure, have a look at this paper: <http://dx.doi.org/10.1109/PACT.2011... Basically, for any given application, there's a good chance you'll need to try *all* of the available compilers to see which one gives the best performance.

IBM is definitely in the boat of having to maintain backwards compatibility even for 'broken' code, since performance is not the only selling point for it, but the others can probably pretty well tell people with bad code to go fix it if they want their applications to keep getting faster.

2. On Monday, January 28 2013, 09:49 by pascal

Thanks, Phil. Having no background in HPC, I did not dare to speculate about the users of the Intel C Compiler (despite the strong clue that lies in the existence of its sibling, the Intel Fortran Compiler).