$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] performance of a linear algebra/matrix library
From: DE (satan66613_at_[hidden])
Date: 2010-05-07 09:06:41
on 06.05.2010 at 22:48
 Kenny Riddile wrote :
> If you mean a language-imposed, inherent abstraction penalty, then I
> doubt it (certainly not 33%).  You can find out for yourself though:
> http://www.stepanovpapers.com/AbstractionPenaltyBenchmark.cpp
i've run the code for my everyday compiler (msvc80) and it greported
no abstraction penalty
i've also tried icc11 and it showed minor abstraction penalty
(mean = 1.17)
accidentaly i tried to compile my code with icc11 and -- it's a
miracle! -- the test showed no abstraction penalty
i believe the implementation in fact works just as i expected
so i guess if one wants speed he should get a better compiler
for curious ones here are some results:
n       2       4       8       16      32      64      128     256     512     1024    2048
msvc80  1.77    1.57    1.34    1.12    1.05    1.12    1.32    1.33    1.23    1.23    1.23
icc11   1.53    1.32    1.26    1.55    2.17    1.07    1.02    0.98    1.00    1.03    1.02
n is matrices' dimensions
numbers in the latter 2 lines are ratios of runtime of C++ code to
that of C code (time_cpp/time_c)
'msvc80' denotes time ratio for msvc version
'icc11' denotes the one for icc version
-- Pavel