小编use*_*519的帖子

算术运算的不成比例处理时间[C]

有人可以用这个小程序解释这里发生了什么吗?

#include<stdio.h>

int main()
{
    float a=0.577;
    float b=0.921; 
    float c; 
    int i;

    for (i=0;i<100000000;i+=1){
        c=0.7*a-0.2*b;
        //a=0.145*c+2.7*b;
    }

    printf ("%.3f\n",c);
}
Run Code Online (Sandbox Code Playgroud)

注意,有一行注释掉了.

我首先编译它没有线,然后是线.(使用gcc -O2 ...).并测量了处理时间.我很惊讶地发现执行时间0.001s与之相反2.444s.这没有多大意义.或者更确切地说,这背后必定有一些逻辑.

您能否解释一下发生了什么以及如何缓解这个问题?

我处理一个处理大量数据的程序,在我看来,我遇到了相同的性能问题.

我正在考虑从浮点数转换为整数但似乎整数表示它的行为相同.

编辑:最后解决方案是微不足道和合乎逻辑的.所以我感谢所有答案和解释!

c performance gcc

6
推荐指数
1
解决办法
186
查看次数

通过经过身份验证的代理进行debootstrap

我将通过'from other linux'方法在我的PC上安装debian,并且我遇到了debootsrapt无法通过我们的代理的问题.据我所知,debootstrap没有配置文件既没有在命令行上获取参数(与代理相关),所以我设置了以下两个环境变量:

ftp_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128
http_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128
Run Code Online (Sandbox Code Playgroud)

我仍然得到:

# /usr/sbin/debootstrap --arch i386 wheezy /mnt/debinst http://ftp.cz.debian.org/debian
I: Retrieving Release
E: Failed getting release file http://ftp.cz.debian.org/debian/dists/wheezy/Release
Run Code Online (Sandbox Code Playgroud)

发布文件可以通过浏览器获取,因此它存在等等......

我想知道这是否可以完成

谢谢

linux passwords proxy

4
推荐指数
1
解决办法
4810
查看次数

标签 统计

c ×1

gcc ×1

linux ×1

passwords ×1

performance ×1

proxy ×1