Hello,
this is my third e-mail regarding multi_index containers.

I'm using them for the process of clustering a huge amount of data (posts from an aple blog from the last 4-5 years)
I'm counting Euclidean distance between two clusters, which I store in a multi_index container like the above

typedef multi_index_container<
    cluster_d,
    indexed_by<
        ordered_unique<
            tag<cluster_pair>,
            composite_key<
                cluster_d,
                BOOST_MULTI_INDEX_MEMBER(cluster_d, int, cluster1),
                BOOST_MULTI_INDEX_MEMBER(cluster_d, int, cluster2)> >,
        ordered_non_unique<
            tag<cluster_distance>, BOOST_MULTI_INDEX_MEMBER(cluster_d, float, distance)> >
> cluster_index;



My problem is that I have to count 9500! (! = factorial) distances, and store them in the multi_index container.
The process of counting distances is costing me 13minutes ( that is because the dimension of each of the two vectors is nearly 1000 or more for which i have to access STL's maps).
Another 9 minutes takes the insertion using "std::pair<iterator,bool> insert(const value_type& x);".

I would like to know if there is another way to do faster insertion.
I've seen you use mailing list for much complicated problems, and I'm sorry for being a noob.But since i chose to use boost I'd like to stick with that, so I'm kindly asking for your help!

Thank you  in advance
Andrew Kokkalis