# # patch "ChangeLog" # from [ae327b05181ea4cabdaa2e16bb4553fd053de42e] # to [c49c26c5aaa8bb8612d4baa0d2d1fe80375de09f] # # patch "change_set.cc" # from [0d8fbd60bb97a9a1c6c598f310af7da400009224] # to [d7ca9d033951cfaea901ea66a17490361c63368f] # --- ChangeLog +++ ChangeLog @@ -1,5 +1,10 @@ 2005-04-27 Matt Johnston + * change_set.cc (extend_state): don't mix find() and insert() on + the path_state, to avoid hitting the smap's worst-case. + +2005-04-27 Matt Johnston + * change_set.cc (confirm_proper_tree): move things out of the loops for better performance. --- change_set.cc +++ change_set.cc @@ -1300,12 +1300,18 @@ extend_state(path_state const & src, path_state & dst) { + std::vector< std::pair > tmp; for (path_state::const_iterator i = src.begin(); i != src.end(); ++i) { if (dst.find(path_state_tid(i)) == dst.end()) - dst.insert(*i); + tmp.push_back(*i); + //dst.insert(*i); } + + for (std::vector >::const_iterator i = tmp.begin(); + i != tmp.end(); i++) + dst.insert(*i); } static void