用 RAM Disk 提高编译速度?

尝试通过RamDisk加速大型项目的编译过程,但发现对于编译速度的提升有限。

项目很大, 文件很多, 而且由于开始时编码的一些不是很合适的设计, 规划, 导致了现在每次编译的时间很长. 我的机器配置 P4 D 2.8G/1G,  rebuild all 需要 12 分钟. 当然, 我也不会没事就 rebuild all. 可问题是. 头文件被依赖的太多. 随便改动一个头文件. 几乎所有的文件都在编译.

在现阶段我不能去改编码的设计, 我能做的只能是想想办法提高本机的编译速度. 想到的就是 Ram Disk. 我不是有 1G 内存嘛. 平常使用也不超过 512M, 查看了一下编译生成的临时文件 400M 左右. 我可以创建一个 450M 的 Ram Disk. 似乎是个不错的主意.

找 Ram Disk, 此前在论坛里一直有人推荐 RamDiskNT 什么的. 我记得也下载过. 但安装/重启很麻烦. 我觉得那个不是我想要的. 而且我觉得一个软件的名称加上个后缀 NT 啊, XP 啊, 第一感觉首先就打了一个折扣. 别人出来 NT, 你就加个 NT, 出来 XP, 你就加个 XP, 那现在你是不是再加上个 Vista? 你到底有没有准谱啊? 感觉这样的软件公司不是做程序的, 是来做秀的.

上网搜索. 我找到了Gavotte Ram Disk, 虽然是一个程序员在微软的驱动例子程序上修改的. 但别人评论很不错. 稳定. 而且安装/卸载/调整容量等操作都不用重启系统. 很绿色啊.

安装, 设置容量为 450M, 设置完了之后, 从任务管理器上直接就看到内存占有的变化, 到了 800M 了. 设置 vc6 的编译路径. rebuild all. 结果令人很失望. 编译花了 10 分钟. 速度提升很有限. 分析一下原因. 编译的时候 CPU 一直占用 50%. 因为是超线程. 其实也就是只用一个 CPU. 这个没有办法. vc6 太老了. 记得 vc2005 可以同时编译两个工程, 但也仅限于两个工程. 而不是一个工程中的两个文件. 另一个因素就是编译的大部分时间还是花在编译器的那些操作, 词法/语法/语义分析, 优化等. 使用 Ram Disk 只是在最后写 obj 文件的时候有用处. 而 OBJ 文件并不是那么大, 也就 300M+, 所以效果不明显了.

我不甘心. 因为 vc 在编译的时候需要在 %Temp% 目录生成一些文件, 我又将临时文件目录设置到 Ram Disk, 再次测试, 几乎没有什么提升. 还是 10 分钟. 最后一招, 把源码的目录也放到 Ram Disk. 编译. 我放弃了. 还是 10 分钟.

是谁说用 Ram Disk 可以提高编译速度的? 或者我有什么没有考虑到? 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值