3050311118 发表于 2015-10-31 20:16:57

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

我想这种编译限制速度的瓶颈在哪啊?一个.c文件弄成一个bin,为什么会花上半秒或者1秒时间。
计算量究竟有多大?

ztrx 发表于 2015-10-31 20:18:44

1秒还慢?你想多快.

3050311118 发表于 2015-10-31 20:21:53

ztrx 发表于 2015-10-31 20:18
1秒还慢?你想多快.

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

mmiker 发表于 2015-10-31 20:27:33

.C 变成.BIN 里面包含了多个过程的,预处理,预编译,编译,链接。文件转换,1S已经很快了。{:lol:}{:lol:}

3050311118 发表于 2015-10-31 20:38:06

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

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

sddp001 发表于 2015-10-31 20:41:45

3050311118 发表于 2015-10-31 20:38
那样的话人工来弄得要一年了啊

一年未必干完

日日♂夜夜 发表于 2015-10-31 21:02:53

同时只能执行一个文件编译肯定慢啊
可以试着多线程编译,这样就快
同样吧一个.c文件里面的函数全部切开分别用多线程编译这是最快的
还有就是优化和指令集复杂程度了

renjun_EMbest 发表于 2015-10-31 21:19:27

哪个编译器,编译什么代码?

3DA502 发表于 2015-10-31 21:33:45

不知换个固态盘效果怎么样

LQS1200 发表于 2015-10-31 21:35:12

MDK WIN7 比XP慢

ijlc1314 发表于 2015-10-31 21:54:24

楼主的好电脑是什么配置

kinoko 发表于 2015-10-31 22:41:43

main();实测不用一秒

374184600 发表于 2015-10-31 22:52:11

要看c文件多大的咯。

marshallemon 发表于 2015-10-31 23:07:48

你用汇编来编写,编译成bin就快了。
编译原理中有说过,编译要经过,词法分析,语法分析,语意分析……

WOSDAIZ 发表于 2015-10-31 23:18:29

3DA502 发表于 2015-10-31 21:33
不知换个固态盘效果怎么样

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

tclg 发表于 2015-10-31 23:42:05

MDK如果能做到像LABVIEW那样的编译方式就好了

ct317548608 发表于 2015-10-31 23:50:43

3DA502 发表于 2015-10-31 21:33
不知换个固态盘效果怎么样

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

浮生莫若闲 发表于 2015-11-1 10:58:12

ct317548608 发表于 2015-10-31 23:50
编译的过程应该只和CPU性能有关吧,硬盘对编译的影响应该不大

我觉得也如此

xwkm 发表于 2015-10-31 20:16:58

浮生莫若闲 发表于 2015-11-1 10:58
我觉得也如此

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

jcrorxp 发表于 2015-11-1 14:03:55

你没围观过安卓狗的编译哈哈
之前我就见过同事~~
用2400元的I7,32G内存 256固态~~也是要有耐性的~~~~

lixin91985 发表于 2015-11-1 14:44:52

要是见过FPGA的编译。你都想哭了,

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

DevLabs 发表于 2015-11-1 14:48:25

换SSD,编译C计算量没那么大。

renjun_EMbest 发表于 2015-11-1 16:04:45

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

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

yuanzhengrong 发表于 2015-11-1 22:35:52

编译一个Android的系统镜像大概要6个多小时。

kinoko 发表于 2015-11-2 09:02:21

硬盘速度跟编译速度也是密切相关的,在笔记本机械硬盘编译需要4秒-7秒的工程在SSD上只需要1秒。

Jordan?? 发表于 2015-11-2 09:34:11

编译会产生目标文件
链接也需要用到.o文件,硬盘的影响怎么可能不大

styleno1 发表于 2015-11-2 11:42:33

自从编译器支持并行编译,已经快多了。

rundream 发表于 2015-11-2 13:53:35

1s还嫌慢?我都点编译,睡一会儿。然后再看……
页: [1]
查看完整版本: 为什么编译器编译.c会这么慢,好电脑编译个.C也要花半秒左...