「古い」バージョンを使用しているときに C++ で実行時間 (壁時間) を測定するための推奨される方法は何ですか? g++ は 4.6.3 (古くはありませんが、c++0x11 ではなく、-std=c++0x スイッチはありません)、boost も古い 1.46.1 です。
CPUサイクルを測定するclock()を試しました。CPUサイクルも測定するboost::timer()を試しました。C 関数を使用する必要がありますか?
問題があれば、これは 3.5 カーネルの Ubuntu Linux です。c++0x スイッチを追加したり、コンパイラやブースト ライブラリをアップグレードしたりできないと仮定した場合のベスト プラクティスを見つけたいと思います。
参考までに、以下のコードを使用してさまざまな機能をテストしています。結果は、cin 呼び出しで待機する数秒ではなく、約 0.2 秒です。
{
boost::timer t;
for (int i = 0; i < 99999999; i ++) ;
std::string sin;
std::cin >> sin;
std::cout << t.elapsed() << std::endl;
}