加快链接速度/ Linux上的快速链接

时间:2010-09-12 15:03:19

标签: c++ linux linker

我每隔十分钟就建立一个webkit(200万行代码)来查看我的更改输出,并且我的机器上的webkit链接需要处理600-700 MB的目标文件硬盘。这需要大约1.5分钟。我想加快这个链接过程。

有没有机会,我可以告诉操作系统只将所有目标文件保存在RAM中(我有4 GB的ram)。有没有其他方法来加快链接?

感谢任何想法或帮助!

这是一个需要1.5分钟的命令,

http://pastebin.com/GtaggkSc

4 个答案:

答案 0 :(得分:15)

我使用tempfsgold linker解决了这个问题。

1)。 tmpfs:mount目录,其中包含所有目标文件为tmpfs。

2)。 gold linker:使用gold链接器可以快速连接5-6次,tmpfs的优势加速将是普通链接的7-8倍。在ubuntu上使用以下命令,您的普通链接器将替换为Gold Linker。

sudo apt-get install binutils-gold

你可以使用黄金链接器找到一些链接错误,下面的线程是一个很好的帮助。

Replacing ld with gold - any experience?

答案 1 :(得分:2)

尝试使用ramdisk

答案 2 :(得分:1)

说实话,我不确定我是否理解这个问题,但ramfs会对你有用吗?

答案 3 :(得分:1)

获取Linux机器的SSD磁盘。 如果写入性能仍然存在问题,请将输出路径配置为ram磁盘。

你有没有测量过1.5分钟的真实IO界限? Webkit如此之大意味着您可能会遇到内存缓存垃圾。您应该尝试找出您有多少L1 / L2缓存未命中。我会建议这是一个问题。 在这种情况下,你唯一的希望是海湾合作委员会小组的某个人调查这个问题。

顺便说一句:微软在极端的链接器时间方面存在同样的问题。