Date: 2001-03-13 15:17:31
David Abrahams wrote:
> Yes, and I have been wondering recently how much of a performance
> achieved through expression templates.
The boost is impressive (for me).
> After all, if matrices are big, the
> cost of operations should significantly outweigh the cost of runtime
> expression analysis.
Even if the matrices are small and the expressions are somewhat
complex, you will notice a certain difference.
> My very brief experience shows that at the very least, we should
> complete documentation to justify an effort.
Hm. Who likes to write documentation? :-)
> The question remains whether
> there is any non-redundant code to be written.
I am undecided.
>> One important question at the beginning was, whether we should try
>> support rank-n tensors like Blitz++ and POOMA. We decided not to.
> What factors influenced that decision?
> In most of the work I anticipate doing, I won't need anything
> rank 2.
> That might be reason enough to limit the scope.
I also do not know any common numerical procedure needing a rank 3
> Check. Regarding the inner-/outer- product issue, I recall seeing a
> somewhere about simulating new operators (e.g. exponentiation) with
> notation like this:
> A *exp* B
Oops. I have to think about that.
>> This eventually involves the need to
>> incorporate a meta meta method like PETE to generate templates in
> We might consider hijacking PETE ourselves. That's why they wrote
> way :-)
I am happy, that we even had no need to use the preprocessor until
now to get our expression template machinery working. Instead we are
using the Barton-Nackman trick extensively.
>> This is an interesting question: should a boost matrix library run
>> under MSVC for example?
> It's tempting to try since MSVC actually generates very good
Yep. I was quite surprised, when I realized that.
> At the same time, I think its limited template capability put
> expression template work beyond its reach.
Hm. I nevertheless hope, that our work is serious. ;-)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk