Vil*_*lx- 50 directory caching compilation ramdrive
Stack Overflow上的一个问题的答案(见下文)给了我一个很棒的小软件的想法,这对于所有编码器来说都是非常宝贵的.
我正在想象RAM驱动器软件,但有一个关键的区别 - 它将镜像我硬盘上的真实文件夹.更具体地说 - 包含我正在处理的项目的文件夹.这样,任何构建几乎都是瞬时的(或者至少快几个数量级).RAM驱动器将仅使用空闲资源将其内容与后台硬盘驱动器同步.
一个快速的谷歌搜索没有透露,但也许我只是不知道如何谷歌.也许有人知道这样的软件?最好免费,但合理的费用也可以.
补充:已经提出了一些我在一开始就丢弃的解决方案.他们将(没有特别的顺序):
补充2:出现了一个想法 - 使用普通的RAM驱动器加上后台文件夹同步器(但我的意思是背景).有这样的事吗?
补充3:有趣.我刚刚尝试了一个简单的RAM驱动器.重建时间从大约14秒下降到大约7秒(不差),但增量构建仍然在~5秒 - 就像在HDD上一样.有什么想法吗?它使用aspnet_compiler和aspnet_merge.也许他们在其他地方做其他临时文件?
补充4:哦,很好的新答案!:)好的,我为你所有的反对者提供了更多的信息.:)
这个想法的主要原因之一不是上述软件(14秒构建时间),而是另一个我当时无法访问的软件.这个其他应用程序有100 MB的代码库,其完整版本大约需要5分钟.啊,是的,它在Delphi 5中,所以编译器不太先进.:)将源放在RAM驱动器上导致了巨大的差异.我想,我得到它的时间不到一分钟.我没有测量过.因此对于所有那些说操作系统可以更好地缓存内容的人 - 我会乞求不同.
相关问题:
关于第一个链接的注意事项: 它链接的问题已被删除,因为它是重复的.它问道:
你的代码编译时你做了什么?
我联系的Dmitri Nesteruk的答案是:
我几乎立即编译.部分原因是我的项目很小,部分原因是因为使用了RAM磁盘.
SCd*_*CdF 17
在Linux中(你从未提到过你所使用的操作系统,所以这可能是相关的)你可以从RAM创建块设备并像任何其他块设备(即HDD)一样安装它们.
然后,您可以创建在启动/关闭时以及定期复制到该驱动器和从该驱动器复制的脚本.
例如,你可以设置它,所以你有~/code和~/code-real.您的RAM块~/code在启动时安装,然后从~/code-real(在标准硬盘驱动器上)的所有内容都被复制.在关闭时一切都将被复制(rsync的 "d会更快)从后~/code到~/code-real.您可能也希望该脚本定期运行,因此在发生电源故障等情况下您不会失去太多工作.
我不再这样做了(当9.5测试版很慢时,我将它用于Opera,不再需要了).
Ada*_*vis 15
令我感到惊讶的是,有多少人认为操作系统在确定缓存需求方面可以比在这种专门案例中做得更好.虽然我没有这样做进行编译,但我确实为类似的过程做了这件事,最后我使用了带有自动同步脚本的RAM磁盘.
在这种情况下,我想我会选择一个现代的源控制系统.在每次编译时,它会自动检查源代码(如果需要,沿着实验分支),这样每次编译都会导致数据被保存.
要开始开发,请启动RAM磁盘并拉出当前基准线.进行编辑,编译,编辑,编译等 - 一直为您保存编辑.
在开心时做最后的检查,甚至不需要涉及常规硬盘驱动器.
但是有一些背景同步器可以自动化 - 问题是它们也不会针对编程进行优化,并且可能需要偶尔进行完整的目录和文件扫描以捕获更改.源代码控制系统正是为此目的而设计的,因此即使它存在于您的构建设置中,它也可能会降低开销.
请记住,在停电的情况下,后台同步任务未定义.如果出现问题,您最终必须弄清楚保存了什么以及未保存的内容.使用定义的保存点(在每次编译时,或者手动强制执行),您都会非常清楚它至少处于您认为可以编译它的状态.使用VCS,您可以轻松地将其与之前的代码进行比较,并查看您已应用的更改.
小智 6
请参阅使用 tmpfs 加速emerge(Gentoo Linux wiki)。
在 Gentoo 下使用 RAM 驱动器加速编译是许多年前编写的操作指南的主题。它提供了已经完成的工作的具体示例。要点是所有源文件和构建中间文件都被重定向到 RAM 磁盘进行编译,而最终的二进制文件则被定向到硬盘驱动器进行安装。
此外,我建议探索在硬盘驱动器上维护您的源,但git push您的最新源更改为驻留在 RAM 磁盘上的克隆存储库。编译克隆。使用您喜欢的脚本复制创建的二进制文件。
我希望这有帮助。
这听起来像是操作系统和/或硬盘驱动器将自动为您处理的磁盘缓存(诚然,性能不同程度)。
我的建议是,如果您不喜欢驱动器的速度,请购买纯粹用于编译目的的高速驱动器。减少您的工作量,您可能就能解决编译问题。
既然这个问题最初被问到,那么与 SSD 相比,旋转硬盘就成了可怜的乌龟。它们与您可以从 Newegg 或 Amazon 购买的 SKU 中最初请求的 RAM 磁盘非常接近。
| 归档时间: |
|
| 查看次数: |
18198 次 |
| 最近记录: |