VC++用のまともなプロファイラが手元にないので、結果に影響ない範囲で同じ関数を二度呼ぶ手法で所要時間の概算を調査しています。 例えばnew/deleteの時間を測るには、 #include <new> #include <cstdlib> void* operator new(std::size_t size) throw(std::bad_alloc) { // dummy std::free(std::malloc(size)); return std::malloc(size); } void operator delete(void* ptr) throw() { std::free(ptr); } みたいな事をやってます。 まぁ、予想通り、new/deleteは結構時間を食っているのが分かったので、短文字列最適化の効かないサイズのstd::stringが多いのかなぁと思って、サ