簡単な比較ではcout
、Visual Studio では (顕著な違い) よりもはるかに遅いことが示されてprintf
います。正確な違いを編集して戻ります。
明らかに、UI操作用のライブラリは、カーソルを移動したり、実際に変更された画面のビットのみを再描画したりする機能を備えているため、はるかに優れている可能性があります.
編集:次のコードを使用して、2 つの出力方法の速度を測定しました。
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <ctime>
int main(int argc, char **)
{
clock_t t = clock();
for(int i = 0; i < 40; i++)
{
if (argc == 1)
{
std::cout << "0123456789012345678901234567890123456789012345678901234567890123456789\n";
}
else
{
printf("0123456789012345678901234567890123456789012345678901234567890123456789\n");
}
}
std::cout.flush();
t = clock()-t;
std::cout << "Time = " << std::setprecision(3) << t / (double)CLOCKS_PER_SEC;
return 0;
}
私のマシンでは、printf
('mytest x')で約 0.1 秒 (0.098-0.113 秒)、('mytest') で約 0.8 秒 (0.776-0.860)cout
かかります。