Boost logo

Boost :

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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk