|
Boost : |
From: Douglas Gregor (gregod_at_[hidden])
Date: 2002-08-11 22:01:54
On Sunday 11 August 2002 10:04 pm, Paul Mensonides wrote:
> Furthermore, I don't think that it is
> practical at this point in time to use *huge* numbers of elements in a
> compile time container.
Burton et al. did it. They used very large typevectors to achieve huge
performance gains on finite element analysis problems. Sure, they're in a
domain where one can afford day-long compile times because a model might be
used for 6 months or a year before needing a recompile after that, but the
point is that 10,000 elements was feasible for them and that typevectors made
that possible.
> What purpose is there to using typelists when
> type-vectors are so much faster? When you are talking about a huge number
> of elements, that is exactly the case when typelists are _slow_ and also
> exactly the case when type-vectors are an implementation _nightmare_.
Please explain that last part... how are type-vectors an implementation
nightmare?
Here's what I'm aiming at. In another message, you said:
"Sequence abstraction. I have yet to see a practical example that shows
that it has purpose. I'll that I have seen is a lot of what-if's. [sic]"
The typevector example I've given is _not_ speculation; it's not a what-if.
It's research that was presented at WCGP'02 last month and will be published
as part of the proceedings of that conference; I can send the preproceedings
version of the paper privately to any interested persons.
Perhaps the biggest question that looms for MPL is if the sequence abstraction
(via iterators) is useful or if it is unnecessary. This work presents a case
for a data structure other than the typelist, and I think we cannot claim the
sequence abstraction useless without considering this work.
Doug
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk