找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1971|回复: 0
打印 上一主题 下一主题
收起左侧

一个蜀黍的VS2008怪问题。。。

[复制链接]
跳转到指定楼层
楼主
ID:127229 发表于 2016-6-19 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
晚上用VS2008编译器写了一个window控制台程序跑在IBM R400笔记本上,2008Server 的操作系统,发现一个神奇的问题,折腾了一个多小时没找到原因,先暂且当坑标记出来,希望以后不要再踩到了。

void main()
{
    ....
    std::cout << "all MCUs is Runing" << std::endl;          <<-------------- 加了这句,后面统计时长莫名其妙增加30-50%以上的时间消耗
    Sleep(5000);
    {
        CPerfCounter counter;
        callprogram();
        counter.GetElapse();               <<--- 加了上面那句输出,这里统计出来的性能直线下降,莫名你个其妙啊!
    }
}

加了std::cout这句向屏幕输出以后,再向下有一个计算某次调用性能的逻辑,每次耗时都比不加这句话的要慢30%以上。按理说,std::cout已经过去了,输出已经完成了,即使是异步原因,我后面加了5秒的等待,还不够你异步显示完成?然后试了10万次调用求平均,差异没这么大,小调用差的太远了,后面花了一个多小时写了各种测试代码找原因,未果。 实在无解,暂且记之,以后有时间再来继续。有谁知道这个坑的请告诉我,大餐管饱。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表