1

我在 2G RAM 机器上运行的大型遗留代码库中看到了一些真正缓慢的构建时间,而没有适当的程序集分解。所以,如果我想在不进行代码大修的情况下加快速度,如果童话 IT 部门提供一台 16G(或其他如此巨大的数量)RAM 机器,会不会快得多?换句话说,RAM 是足够大的 dotnet 项目的主要瓶颈还是存在其他主要问题?

出于纯粹的好奇,任何关于构建 Java 的类似情况的输入也受到赞赏。

4

3 回答 3

2

一旦您的 RAM 多于应用程序使用的 RAM,性能并不会随着 RAM 的增加而提高。使用 128GB 的​​ RAM,您可能看不到任何改进。

我们无法猜测所需的数量。通过查看任务管理器来衡量。

于 2012-05-09T21:12:41.440 回答
2

它肯定不会对你造成任何伤害...

2G对于开发机来说是很小的,我当然用16G。

但是,构建时间迟早会受到文件访问的限制,因此虽然您可能会得到一点改进,但​​我怀疑您不会被它所震撼。([编辑]正如评论者所说,编译也可能受 CPU 限制)。

您是否研究过并行构建(例如,请参阅此 SO 问题:Visual Studio 2010,如何在多核上并行构建项目)。

或者,您是否可以重组您的代码库,并可能将一些更新频率较低的程序集删除到一个单独的 sln 中,然后将它们作为 DLL 引用(这在所有情况下都不是一个好主意,但有时它可能是权宜之计)。根据您对问题的描述,我猜这说起来容易做起来难,但这就是我们在代码库中取得良好结果的方式。

于 2012-05-09T21:13:49.620 回答
0

整个 RAM 问题实际上是 ROI(利息回报率)之一。您添加到系统的 RAM 越多,应用程序就越不可能搜索足够大的内存位置来存储特定大小的对象,并且运行速度越快;然而,在某个点之后,系统不太可能选择一个不够大的位置来存储对象,因此再往上走就毫无意义了。(请注意,RAM 棒的读/写速度也在其中发挥作用)。

总结:@ 2gb RAM,你绝对应该将它升级到更像 8gb 或建议的 16gb 但是做更多的事情几乎没有意义,因为瓶颈将来自处理器。 另外,注意 RAM 的速度可能也是一个好主意,因为这样你的 RAM 可能会成为瓶颈,因为它最多只能处理 XXXXmhz 时钟速度不过,一般来说,1600mhz 就可以了。

于 2013-12-12T20:00:17.943 回答