忍者ブログ
  • 2017.09
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2017.11
cout vs printf
cout と printfの速さを比較してみた。

cout は遅い・・・

endlが遅い要因という話が多いので抜いてみても遅い・・。


#include <iostream>
#include <cstdio>
#include <ctime>
using namespace std;
void funcPrint();
void funcIO();
double d =1.;

void testDump(void (*func)(void))
{
int i=0;
for(i=0;i<1000000;i++)
{
d *= 0.999;
func();
}
}

int main( int argc, const char *argv[] ) {
void (*func)();
if(*argv[1]=='1')
{
func = funcIO;
}
else
{
func = funcPrint;
}
testDump(func);
return 0;
}



--- testSt.cc 2013-01-05 12:33:21.000000000 +0900
+++ testPt.cc 2013-01-05 12:33:09.000000000 +0900
@@ -1,11 +1,10 @@
-
-#include<iostream>
+#include<cstdio>
using namespace std;

extern double d;

-void funcIO()
+void funcPrint()
{
- cout << d;
+ printf("%g", d);
}



time ./a.out 1 > /dev/null

real 0m3.027s
user 0m3.016s
sys 0m0.004s

dをもう一つ追加
real 0m5.991s
user 0m5.952s
sys 0m0.004s



time ./a.out 0 > /dev/null

real 0m2.230s
user 0m2.208s
sys 0m0.004s

dをもう一つ追加
real 0m4.293s
user 0m4.252s
sys 0m0.004s
PR
【2013/01/05 13:10 】 | C/C++ | 有り難いご意見(0)
                                    
<<cout vs printf (2) | ホーム | icon2png(改)>>
有り難いご意見
貴重なご意見の投稿














<<前ページ | ホーム | 次ページ>>