影响Gcc编译速度的瓶颈在哪? - V2EX
obiwong
·
2011-05-05
·
via GCC
 |
|
8
Jet 2011 年 5 月 6 日
@obiwong 堆内存和栈内存。 对于 C 的变量有两种分配方式,大概是除 malloc 以外部分都分到栈内存,而这部分优化空间最高,分析也就最慢。 补充一下,关于最短一块是CPU Cache,是因为编译过程需要很大的暂存空间,有很大的调度量。其实主要还是内存分配上,需要一些编程技巧来避免编译过程中需要过大的暂存(例如函数不要写得过长过大),基本上对编译是有「加速」作用。 另外忘了说,还有库的调用(.h)本身对于磁盘IO的考验也非常大,甚至是最大的,因为调用一个头文件,头文件里面估计又会包含无数个obj。这里本身已经不是在编译一个文件而是编译无数个文件然后 link 起来
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。