cout 和 printf 性能比较


今天刷OJ时,有个全排列的题目一直超时,当时是用的cout,然后换成printf果断 ac,因此,拥有执著的求知精神的我试试到底差别有多大。


测试用例是用printf 和 cout 分别输出从0~1000,代码如下



#include
#include
#include
using namespace std;
int main(){
    SYSTEMTIME sys;
    GetLocalTime( &sys );
    int t1 = sys.wMilliseconds+sys.wSecond*1000;
    for (int i = 0 ; i < 1000 ; i ++)
        printf("%d",i);
     GetLocalTime( &sys );
    int t2 = sys.wMilliseconds+sys.wSecond*1000;
    for (int i = 0 ; i < 1000 ; i ++)
        cout<

执行得到的结果:

  printf所用时间80
cout所用时间189

里面的时间都加上调用GetLocalTime( &sys );和sys.wMilliseconds+sys.wSecond*1000;一个不复杂的运算,最多占用1ms时间。

所以,得到结论是 当输出数据量比较大时,printf 比 cout 有更快的速度


你可能感兴趣的:(算法)