2015年09月26日

c++14で試してみた(・_・)ヾ

挿入が速いんだそうだ!条件付で...

code:

#include <iostream>
#include <vector>
#include <string>
#include <chrono>

const int MAX_CNT = 1000*1000;

void add_push_back(void)
{
std::vector<std::string> vs;

auto start = std::chrono::system_clock::now();
for (int cnt = 0; cnt < MAX_CNT; cnt++) {
vs.push_back("abcdefghijklmnopqrstuvwxyz");
}
auto end = std::chrono::system_clock::now();
auto dur = end - start;
auto msec = std::chrono::duration_cast(dur).count();
std::cout << msec << " msec" << std::endl;
std::cout << vs.size() << " times" << std::endl;
}

void add_emplace_back(void)
{
std::vector<std::string> vs;

auto start = std::chrono::system_clock::now();
for (int cnt = 0; cnt < MAX_CNT; cnt++) {
vs.emplace_back("abcdefghijklmnopqrstuvwxyz");
}
auto end = std::chrono::system_clock::now();
auto dur = end - start;
auto msec = std::chrono::duration_cast(dur).count();
std::cout << msec << " msec" << std::endl;
std::cout << vs.size() << " times" << std::endl;
}

int main(int argc, char * argv[])
{
add_push_back();
add_emplace_back();
return 0;
}

実行結果

554 msec
1000000 times
512 msec
1000000 times
posted by zengaichi at 20:25| Comment(0) | TrackBack(0) | Unix-Tools | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/426759077

この記事へのトラックバック