Hello, I have an algorithm that interpolates a value out of tabulated data. Performance tests show that using double algo( const double* data [2], int datasize, double x) is faster than double algo( const std::vector<double>&, const std::vector<double>&, double x) and double algo( const boost::multi_array<double, 2>&, double x) by 30% or so. So I chose the first one. However, I have a requirement to add points to the tabulated data dynamically. For this, the best container would have been std::map<double, double> with which insertion is part of map's interface. However, the algorithm requires _random_ iterators to the container to proceed, so map doesn't workout but vector and multi_array do. What would be the best compromise? Regards,