C和C++输入输出方式性能比较

scanf和cin的性能差异(12倍之差) 

 

#include <cstdio>
#include <iostream>
#include <ctime>
using namespace std;
int main(){
    freopen("t1.in""r", stdin);
    time_t s,t;
    int i,a;
    s = clock();
    for(i=0;i<1000000;i++)scanf("%d",a);
    t = clock();
    double duration = difftime(t,s);
    cout<<duration<<endl;                 //实测速度297ms 
    freopen("t1.in""r", stdin);
    s = clock();
    for(i=0;i<1000000;i++)cin>>a;
    t = clock();
    duration = difftime(t,s);
    cout<<duration<<endl;                //实测速度3688ms

    return 0;
}

 

 

printf和cout的性能差异(12倍之差) 

 

#include <cstdio>
#include <iostream>
#include <ctime>
using namespace std;
int main(){
    freopen("t1.in""r", stdin);
    freopen("t1.out""w", stdout);
    time_t s,t;
    int i;
    s = clock();
    for(i=0;i<1000000;i++)printf("%d\n",i);
    t = clock();
    double duration = difftime(t,s);
    cout<<duration<<endl;                 //实测速度328ms 
    freopen("t2.out""w", stdout);
    s = clock();
    for(i=0;i<1000000;i++)cout<<i<<endl;
    t = clock();
    duration = difftime(t,s);
    cout<<duration<<endl;                //实测速度3953ms

    return 0;
}

 

posted @ 2013-03-26 20:55  qilinart  阅读(452)  评论(0编辑  收藏  举报