加速链接速度/ linux上的快速链接
我每隔十分钟就会构建一个webkit(2百万行代码),以查看其中的更改输出,并且我的计算机上的webkit链接需要处理600-700在我的硬盘上有MB的目标文件。这需要大约1.5分钟。我想加快这个链接过程。加速链接速度/ linux上的快速链接
有没有任何机会,我可以告诉os只保留所有的目标文件在RAM(我有4 GB的RAM)。有没有其他的方法来加快链接?
任何想法或帮助表示赞赏!
这是一个命令,它需要1.5分钟,
我使用tempfs和gold linker解决了这个问题。
1)。 tmpfs:将包含所有目标文件的目录挂载为tmpfs。
2)。 gold linker:使用gold链接器可以使链接速度提高5-6倍,而tmpfs的优势将比普通链接提高7-8倍。在ubuntu上使用以下命令,您的普通链接器将被Gold Linker替换。
sudo apt-get install binutils-gold
你可以找到一些链接错误使用黄金链接器,下面的线程是一个很好的帮助。
获取您的Linux机器的SSD磁盘。 如果写入性能仍然存在问题,请将输出路径配置为位于RAM磁盘中。
您是否测量了1.5分钟内有多少IO真正被绑定? Webkit太大意味着您可能会遇到内存缓存垃圾。你应该试着找出你有多少L1/L2缓存未命中。我会建议这是一个问题。 在这种情况下,您唯一的希望就是GCC团队中的某个人正在研究这个问题。顺便说一下:微软在极端链接器时代也有同样的问题。
只看着你的粘贴垃圾箱。您应该真的尝试将单个.o文件捆绑到.lib中 - 这可能是一个问题。并尝试使用ReiserFS,它比其他文件系统更适合于小文件。 – Lothar 2010-09-16 16:55:42
您能否确认使用例如:顶部还是vmstat?数据应该放在缓存中,但链接器也需要一些时间来处理它 - 所以你可能会受到CPU的限制。 – 2010-09-16 13:03:47
@Turbo J,我发现在我的处理器中,只有一个内核正在使用22-25%。 – SunnyShah 2010-09-16 14:48:27