标题:能告诉我为什么结果与我期望的相反吗?关于 a+=b 和 a=a+b 效率的问题;
只看楼主
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
结帖率:87.5%
已结贴  问题点数:30 回复次数:3 
能告诉我为什么结果与我期望的相反吗?关于 a+=b 和 a=a+b 效率的问题;
程序代码:
// 点点滴滴.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h> 

#include <iostream> 

#include <time.h> 

void test1()

{

    int a=1,b=1;
    for(int i=0;i<100000;i++)

        for(int j=0;j<10000;j++)

            a+=b;
}

void test2()
{
    int a=1,b=1;
    for(int i=0;i<100000;i++)

        for(int j=0;j<10000;j++)

            a=a+b;
}
int main(int arg,char ** argv)

{

    clock_t t1,t2;
    float time;

    t1=clock();

    test1();

    t2=clock();

    time=(float)(t2-t1)/CLOCKS_PER_SEC;

    printf("%fs\n",time);

   


    t1=clock();

    test2();

    t2=clock();

    time=(float)(t2-t1)/CLOCKS_PER_SEC;

    printf("%fs\n",time);

   

   

    return 0;

}
搜索更多相关主题的帖子: 应用程序 点点滴滴 控制台 
2014-07-18 16:21
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:15 
直接看汇编码,那个指令多,相对就慢咯

我行我乐
我的博客:
http://blog.yuccn. net
2014-07-18 21:07
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:15 
按理这两个应该是一样的 至于区别 不同的编译器 不同的参数下 出来的结果肯定不同
2014-07-19 13:53
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
特意试了一下 GCC下面 不开编译优化 这两个是一样的
2014-07-19 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-434184-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.543832 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved