On May 7, 3:34 pm, mlimber <mlim...@[EMAIL PROTECTED]
> wrote:
> I'm considering different platforms and compilers for a project.
> Anyone have experience (positive or negative) with HP aC++ on HP-UX?
> It seems fairly standard compliant since it sup****ts Boost 1.34, but
> I'd like to hear from you all. Same question for Sun Studio's C++
> compiler on Solaris.
>
> I gather fromhttp://hpux.cs.utah.edu/hppd/answers/4-4.htmlthat
> running g++ on HP-UX is not particularly efficient, but apparently g++
> on Solaris works reasonably well (at least version 3.x that comes with
> it) .
>
> Any experiences related to standard conformance or efficiency that you
> could share would be helpful. TIA.
HP aCC 6 is based on the EDG front end which is widely regarded
as one of the most conforming, if not the most conforming, C++
compilers out there. aCC 6 also comes integrated with HP cadvise,
a static analysis tool that detects things like null pointer
dereferences and potential memory leaks at compile time. The
compiler is available for HP-UX on IPF hardware only. If you're
targeting PA-RISC, aCC 3 isn't quite as good (on PA, cadvise is
available as a standalone tool).
As far as efficiency of the generated code goes, here's the
output of Stepanov and Stroustrup's Standard Container Benchmark
(http://www.stepanovpapers.com/container_benchmark.cpp)
compiled
with aCC 6.10 and gcc 3.4.3 on HP-UX 11.23/IPF (1.4GHz Itanium
II CPU in 32-bit mode). To eliminate the differences between
the implementations of the C++ Standard Library I used Apache
C++ Standard Library 4.2.1 with both compilers.
HP aCC 6.10 (-O):
size array ptrvec itervec deque list set multiset
10 1.11 1.35 1.34 3.79 3.76 2.41 3.24
100 0.47 0.50 0.50 1.38 1.92 1.07 1.62
1000 0.45 0.48 0.47 1.25 1.56 0.82 1.17
10000 0.45 0.47 0.47 1.23 1.63 0.78 1.09
100000 0.50 0.51 0.51 1.41 3.65 1.29 2.36
1000000 0.56 0.58 0.58 1.51 7.08 3.60 4.62
real 1m6.370s
user 1m5.920s
sys 0m0.130s
gcc 3.4.3 (-O2):
size array ptrvec itervec deque list set multiset
10 1.55 1.71 1.69 4.66 5.23 2.78 3.62
100 0.72 0.74 0.73 1.70 2.79 1.23 1.80
1000 0.64 0.65 0.64 1.53 2.27 0.93 1.28
10000 0.62 0.61 0.62 1.47 2.28 0.86 1.20
100000 0.69 0.68 0.69 1.62 4.05 1.33 2.40
1000000 0.74 0.75 0.74 1.68 7.19 3.72 4.96
real 1m19.960s
user 1m18.960s
sys 0m0.110s


|