搜索
bottom↓
回复: 27

为什么编译器编译.c会这么慢,好电脑编译个.C也要花半秒左...

[复制链接]

出0入0汤圆

发表于 2015-10-31 20:16:57 | 显示全部楼层 |阅读模式
我想这种编译限制速度的瓶颈在哪啊?  一个.c文件弄成一个bin,为什么会花上半秒或者1秒时间。
计算量究竟有多大?

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入4汤圆

发表于 2015-10-31 20:18:44 | 显示全部楼层
1秒还慢?你想多快.

出0入0汤圆

 楼主| 发表于 2015-10-31 20:21:53 | 显示全部楼层
ztrx 发表于 2015-10-31 20:18
1秒还慢?你想多快.

我想知道那个限制速度的瓶颈在哪个地方

出0入10汤圆

发表于 2015-10-31 20:27:33 | 显示全部楼层
.C 变成.BIN 里面包含了多个过程的,预处理,预编译,编译,链接。文件转换,1S已经很快了。

出0入0汤圆

 楼主| 发表于 2015-10-31 20:38:06 | 显示全部楼层
mmiker 发表于 2015-10-31 20:27
.C 变成.BIN 里面包含了多个过程的,预处理,预编译,编译,链接。文件转换,1S已经很快了。 ...

那样的话  人工来弄得要一年了啊

出0入0汤圆

发表于 2015-10-31 20:41:45 来自手机 | 显示全部楼层
3050311118 发表于 2015-10-31 20:38
那样的话  人工来弄得要一年了啊

一年未必干完

出0入0汤圆

发表于 2015-10-31 21:02:53 | 显示全部楼层
同时只能执行一个文件编译肯定慢啊
可以试着多线程编译,这样就快
同样吧一个.c文件里面的函数全部切开分别用多线程编译  这是最快的
还有就是优化和指令集复杂程度了

出0入0汤圆

发表于 2015-10-31 21:19:27 | 显示全部楼层
哪个编译器,编译什么代码?

出0入0汤圆

发表于 2015-10-31 21:33:45 | 显示全部楼层
不知换个固态盘效果怎么样

出0入0汤圆

发表于 2015-10-31 21:35:12 | 显示全部楼层
MDK WIN7 比XP慢

出0入0汤圆

发表于 2015-10-31 21:54:24 来自手机 | 显示全部楼层
楼主的好电脑是什么配置

出110入26汤圆

发表于 2015-10-31 22:41:43 来自手机 | 显示全部楼层
main();实测不用一秒

出0入0汤圆

发表于 2015-10-31 22:52:11 | 显示全部楼层
要看c文件多大的咯。

出0入85汤圆

发表于 2015-10-31 23:07:48 | 显示全部楼层
你用汇编来编写,编译成bin就快了。
编译原理中有说过,编译要经过,词法分析,语法分析,语意分析……

出0入0汤圆

发表于 2015-10-31 23:18:29 | 显示全部楼层
3DA502 发表于 2015-10-31 21:33
不知换个固态盘效果怎么样

+1  机械盘运动花掉不少时间.

出0入0汤圆

发表于 2015-10-31 23:42:05 | 显示全部楼层
MDK如果能做到像LABVIEW那样的编译方式就好了

出0入0汤圆

发表于 2015-10-31 23:50:43 | 显示全部楼层
3DA502 发表于 2015-10-31 21:33
不知换个固态盘效果怎么样

编译的过程应该只和CPU性能有关吧,硬盘对编译的影响应该不大

出0入0汤圆

发表于 2015-11-1 10:58:12 | 显示全部楼层
ct317548608 发表于 2015-10-31 23:50
编译的过程应该只和CPU性能有关吧,硬盘对编译的影响应该不大

我觉得也如此

出0入0汤圆

发表于 2015-10-31 20:16:58 来自手机 | 显示全部楼层
浮生莫若闲 发表于 2015-11-1 10:58
我觉得也如此

其实也不是。拿gcc做例子。首先执行gcc。然后fork个cpp。cc1 cc2接着还有collectc。最后还有执行as和ld(可选)。win下createprocess开销很大,而且还要读盘和写盘。你换SSD,提高这些程序的加载速度和写入临时文件的速度会帮助很大

出0入0汤圆

发表于 2015-11-1 14:03:55 | 显示全部楼层
你没围观过安卓狗的编译哈哈
之前我就见过同事~~
用2400元的I7,32G内存 256固态~~也是要有耐性的~~~~

出0入22汤圆

发表于 2015-11-1 14:44:52 | 显示全部楼层
要是见过FPGA的编译。你都想哭了,

编译一次稍微大点的工程都是半个小时。

出0入0汤圆

发表于 2015-11-1 14:48:25 来自手机 | 显示全部楼层
换SSD,编译C计算量没那么大。

出0入0汤圆

发表于 2015-11-1 16:04:45 | 显示全部楼层
jcrorxp 发表于 2015-11-1 14:03
你没围观过安卓狗的编译哈哈
之前我就见过同事~~
用2400元的I7,32G内存 256固态~~也是要有耐性的~~~~ ...

MAC PRO表示编译安卓很慢,30S-300S左右

出0入0汤圆

发表于 2015-11-1 22:35:52 | 显示全部楼层
编译一个Android的系统镜像大概要6个多小时。

出110入26汤圆

发表于 2015-11-2 09:02:21 | 显示全部楼层
硬盘速度跟编译速度也是密切相关的,在笔记本机械硬盘编译需要4秒-7秒的工程在SSD上只需要1秒。

出0入0汤圆

发表于 2015-11-2 09:34:11 | 显示全部楼层
编译会产生目标文件
链接也需要用到.o文件,硬盘的影响怎么可能不大

出0入0汤圆

发表于 2015-11-2 11:42:33 | 显示全部楼层
自从编译器支持并行编译,已经快多了。

出0入0汤圆

发表于 2015-11-2 13:53:35 来自手机 | 显示全部楼层
1s还嫌慢?我都点编译,睡一会儿。然后再看……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-2 21:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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