gpt4 book ai didi

caching - 用于编译的 RAM 驱动器 - 有这样的东西吗?

转载 作者:行者123 更新时间:2023-12-03 06:06:03 26 4
gpt4 key购买 nike

An answer (见下文) Stack Overflow 上的一个问题让我想到了一款很棒的小软件,它对世界各地的程序员来说都是无价的。

我正在想象 RAM 驱动器软件,但有一个关键的区别 - 它将镜像我的硬盘驱动器上的真实文件夹。更具体地说 - 包含我当前正在处理的项目的文件夹。这样,任何构建都几乎是瞬时的(或者至少快几个数量级)。 RAM 驱动器将仅使用空闲资源在后台将其内容与硬盘驱动器同步。

快速谷歌搜索没有发现任何结果,但也许我只是不知道如何谷歌。也许有人知道这样的软件?最好是免费的,但合理的费用也可以。

添加:有人建议了一些解决方案,但我一开始就放弃了。它们将是(排名不分先后):

  • 购买更快的硬盘驱动器(SSD 可能或 10K RPM)。我不需要硬件解决方案。软件不仅有可能变得更便宜(免费软件,有人吗?),而且还可以在硬件修改不受欢迎甚至不可能的环境中使用 - 例如在办公室。
  • 让操作系统/硬盘进行缓存 - 它更知道如何使用您的空闲 RAM。操作系统/硬盘具有通用缓存算法,可以缓存所有内容并尝试预测哪些数据最需要。 future 。他们不知道对我来说优先事项是我的项目文件夹。众所周知,他们并没有真正缓存太多数据。 ;)
  • 周围有大量 RAM 驱动器;使用其中之一。抱歉,这太鲁莽了。只要有一点空闲时间,我就需要将数据同步回硬盘。如果发生停电,我可以忍受失去最后五分钟的工作,但不能忍受失去上次签到以来的所有工作。

添加 2: 提出的一个想法 - 使用普通 RAM 驱动器加上后台文件夹同步器(但我的意思是背景)。有这样的事吗?

添加了 3: 有趣。我刚刚在工作中尝试了一个简单的 RAM 驱动器。重建时间从约 14 秒下降到约 7 秒(不错),但增量构建仍为约 5 秒 - 就像在 HDD 上一样。有什么想法吗?它使用 aspnet_compileraspnet_merge。也许他们对其他地方的其他临时文件做了一些事情?

添加了 4 个:哦,一组不错的新答案! :) 好的,我为所有反对者提供了更多信息。 :)

产生这个想法的主要原因之一不是上述软件(14 秒的构建时间),而是我当时无法访问的另一个软件。这个其他应用程序有 100 MB 的代码库,其完整构建大约需要 5 分钟。啊,是的,它在 Delphi 5 中,所以编译器并不太先进。 :) 将源代码放在 RAM 驱动器上会产生很大的差异。我想我不到一分钟就明白了。我没有测量过。因此,对于所有说操作系统可以更好地缓存内容的人 - 我不敢苟同。

相关问题:

RAM disk for speed up IDE

第一个链接的注意事项:它链接到的问题已被删除,因为它是重复的。它问:

What do you do while your code’s compiling?

答案是Dmitri Nesteruk我链接到的是:

I compile almost instantly. Partly due to my projects being small, partly due to the use of RAM disks.

最佳答案

在 Linux 中(您从未提及您所在的操作系统,因此这可能是相关的)您可以从 RAM 创建 block 设备并像任何其他 block 设备(即 HDD)一样安装它们)。

然后,您可以创建在启动/关闭时以及定期复制到该驱动器或从该驱动器复制的脚本。

例如,您可以对其进行设置,以便拥有 ~/code~/code-real。您的 RAM block 在启动时安装在 ~/code 上,然后 ~/code-real (位于您的标准硬盘驱动器上)中的所有内容都会被复制。关闭时,所有内容都会从 ~/code 复制(rsync 会更快)到 ~/code-real。您可能还希望该脚本定期运行,以便在发生电源故障等情况时不会丢失太多工作。

我不再这样做了(我在 Opera 上使用过它,当时 9.5 beta 很慢,不再需要了)。

Here is how to create a RAM disk in Linux.

关于caching - 用于编译的 RAM 驱动器 - 有这样的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com