ICC++ also includes primitives which guarantee concurrency for situations where such guarantees are required (Section 1.5); however, as these primitives dictate an implementation to the system, they are expensive, and should be used with care.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Since this compiler technology was developed for a language with dynamic typing, it is flexible enough to support extensions of C++ which relax the static type system.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
All of these measurements were taken on a Sparc SS20/51 and both the code generated by ICC++ and the original C++ program were compiled using g++ v2.6.3 with -O2 optimization.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
The ICC++-generated code and the original C++ program were compiled with the Cray CC Compiler without optimization, as optimization generally provides no benefit with this compiler.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Julian Dolby
dolby@cs.uiuc.edu