美文网首页
力卉编程 | 算法:printf 耗时还是cout耗时?

力卉编程 | 算法:printf 耗时还是cout耗时?

作者: 力卉编程 | 来源:发表于2020-02-19 09:45 被阅读0次

问题:printf 耗时还是cout耗时?
平常我们printf 和cout都可以打印调试信息,但是两个的效率是不一样的,你知道吗?
上代码:

#include <sys/timeb.h>
#include <iostream>
void log_msTime(const char *psStr)
{
    struct  tm      *ptm;
    struct  timeb   stTimeb;
    static  char    szTime[19] = {0};

    ftime(&stTimeb);
    ptm = localtime(&stTimeb.time);
    sprintf(szTime, "%02d:%02d:%02d.%03d",
            ptm->tm_hour, ptm->tm_min, ptm->tm_sec, stTimeb.millitm);
    szTime[18] = 0;
    //cout << "[" << psStr ;
    //cout << "]: " << szTime << endl;
    printf("%s/%s\n", psStr, szTime);
    //cerr << "[" << psStr ;
    //cerr << "]: " << szTime << endl;
}

调试代码

    log_msTime("printf_beg");
    printf("printf test\r\n");
    log_msTime("printf_end");

    log_msTime("cout_beg");
    std::cout<<("cout test\r\n");
    log_msTime("cout_end");

结果:

printf_beg/09:28:44.502
printf test
printf_end/09:28:44.503
cout_beg/09:28:44.503
cout test
cout_end/09:28:44.504

如果时间太短,可以考虑循环1000次、10000次试试。

    log_msTime("printf_beg");
    for(int i =0 ; i < 1000; i++)
        printf("printf test\r\n");
    log_msTime("printf_end");

    log_msTime("cout_beg");
    for(int i =0 ; i < 1000; i++)
        std::cout<<"cout  test\r\n";
    log_msTime("cout_end");

1000的结果:

printf_beg/09:34:59.892
printf_end/09:34:59.893
cout_beg/09:34:59.893
cout_end/09:34:59.893

本文仅提供问题的解决思路,明白了什么东西都好测试了!

文 | 力卉编程

相关文章

  • 力卉编程 | 算法:printf 耗时还是cout耗时?

    问题:printf 耗时还是cout耗时?平常我们printf 和cout都可以打印调试信息,但是两个的效率是不一...

  • 优达学城(Udacity)纳米学位对应课程一览

    编程入门(英文) 总耗时:190周耗时:10建议耗时:79.5 认识HTML 4.5 小时 建议完成日期 2017...

  • 基本算法

    1.冒泡算法 2.选择算法 *上面这两个算法耗时基本相同. 插入算法 *耗时比上面两个小 快速排序 Start...

  • 22种编程语言

    请允许我用22种编程语言,向各位亲们祝福…… C:printf("祝大家圣诞节快乐"); C++ : cout<<...

  • 请允许我用24种编程语言,向各位亲们祝福……

    请允许我用24种编程语言,向各位亲们祝福…… C:printf("祝大家新年快乐"); C++:cout<<"祝大...

  • 耗时

    平生觉得最耗时的地儿一个是医院另一个就是银行。工作的缘故,跑银行是常事。去银行时机很重要,宜早不宜迟,赶在银行九点...

  • 码农拜年

    请允许咱用24种编程语言,向各位亲们提前祝福 C:printf("祝大家新年快乐"); C++:cout<<"祝大...

  • 时间复杂度o(1), o(n), o(logn), o(nlog

    1、算法时间复杂度O(),指明某个算法的耗时/耗空间与数据增长量之间的关系。 2、O(1):最低的时空复杂度,耗时...

  • python笔记 | 简单人脸识别

    整理 | 力卉编程

  • 耗时操作

    当我们在主线程执行一个循环量很大的操作的时候,这样会造成主线程的拥堵,这样的操作放在主线程会严重影响UI体验,比如...

网友评论

      本文标题:力卉编程 | 算法:printf 耗时还是cout耗时?

      本文链接:https://www.haomeiwen.com/subject/ctvofhtx.html