22
std :: vectorは単純な配列よりもはるかに遅いですか?
std::vector「配列として実装される」のは一般的な知恵だといつも思っていました。今日私は降りてそれをテストしました、そしてそうではないようです: テスト結果は次のとおりです。 UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in 14.669 seconds The whole thing completed in 26.591 seconds これは約3〜4倍遅くなります。「vector数ナノ秒は遅くなるかもしれない」コメントを正当化しません。 そして私が使用したコード: #include <cstdlib> #include <vector> #include <iostream> #include <string> #include <boost/date_time/posix_time/ptime.hpp> #include <boost/date_time/microsec_time_clock.hpp> class TestTimer { public: TestTimer(const std::string & name) : name(name), start(boost::date_time::microsec_clock<boost::posix_time::ptime>::local_time()) { …
212
c++
arrays
performance
stl
vector