
Paul Baxter <pauljbaxter <at> hotmail.com> writes:
Many C++ vector/matrix library implementations I've seen that hide the underlying structure and support variable size containers do pay a significant abstraction penalty in traversing the container or in making it difficult for compiler's to take advantage of additional optimisations that are possible with fixed sized containers (such as cache manipulation, pre-fetch).
One of the things I've always wanted to see (and have done some work on myself) is a vector/matrix library that separates algorithm from data structure, in a similar way that the standard library separates algorithms from containers. A result of this approach is a high degree of interoperability (e.g., it's possible to do things like multiply matrices from different libraries together, using the generic "multiply" algorithm). Bob