3

我记得听说为了性能,开发机器应该是 32 位的,而服务器应该是 64 位的。我认为是Dot Net Rocks 上的 Richard Campell!提到了这一点。

为什么 32 位比 64 位的开发盒更快,而服务器反之亦然?

4

9 回答 9

6

一个主要原因是 32 位操作系统无法处理 4GB 的 RAM。在涉及虚拟机的许多开发环境中,4-8GB 可能是至关重要的,甚至一般来说是繁重的工作。这就是为什么我总是尽可能坚持使用 64 位,并且所有现代 CPU 都支持它。

于 2009-08-10T12:46:35.270 回答
2

这部分取决于您的工具 - 例如,Visual Studio 仍然是一个 32 位应用程序(但可从 x64 使用 - 只是没有巨大的收益)。

但是,如果您使用主操作系统来托管虚拟机,那么您可能会从大量内存中受益于各种虚拟机 - 然后您可以选择 32 位和 64 位虚拟机来满足您的需求(很难在 32 位主机中有一个 64 位来宾 VM)。

就个人而言,我仍在使用 32 位进行开发。对于我所做的大部分事情来说,这都很好。

于 2009-08-10T12:46:13.133 回答
1

我运行 64 位 2008 Server 并没有看到任何性能问题。事实上,它比 32 位 XP 好得多。它通常执行得更快。有趣的是,在运行 64 位 2008 Server 的笔记本电脑 5400rpm 驱动器上的文件操作比在运行 32 位 XP 的 7200rpm 驱动器的办公室 PC 上更快。

我只能想到为什么要运行 32 位操作系统(XP 是最新的)的一件事:您可以使用 IE6 来调试您的网站。

另一件事是 32 位操作系统无法处理超过 ~3.4 Gb 的 RAM 容量。如果您的 PC 有 4+ Gb 的 RAM,那么您只能使用 32 位操作系统。回想起如今即使是消费类笔记本电脑也销售 4、6 和 8 Gb RAM,人们可以放心地告别 32 位操作系统。

如果您谈论的是非 Windows 操作系统,那么我的经验可能不适用。

于 2009-08-10T12:44:39.077 回答
1

对于开发人员而言,我认为 32 位机器并不比 64 位机器快。确实,您在 64 位操作系统上的开发环境是在模拟的 32 位环境中运行的,这会产生轻微的开销。另一方面,您会发现 64 位操作系统稍微快一些,因为内部数据路径是 64 位的,使操作系统能够在一次操作中移动两倍的数据。这使得 64 位操作系统比 32 位操作系统稍快。64 位操作系统的缺点是指针大一倍。

真正重要的是 64 位操作系统非常稳定,可以访问更多的物理内存,并且可以在不牺牲性能的情况下运行 64 位和 32 位应用程序和虚拟机。32 位操作系统属于过去。

于 2009-08-10T12:53:36.410 回答
1

拥有大量内存会改变您的工作方式,有时甚至会极大地改变您的工作方式。我用 4 个不同的开发环境(1 个主干、2 个分支和第四个用于外部项目的环境)运行 8 个虚拟屏幕。只需 12GB 内存和 30 英寸屏幕。

于 2009-08-10T12:57:58.097 回答
0

我的笔记本电脑中安装了 64 位 Ubuntu。我将它用于开发,我根本没有性能问题。我觉得这样更好地利用计算机资源。

我能想到选择 32 位操作系统的唯一原因是您知道您开发的内容可以在 32 位和 64 位机器上运行。但是VS让你选择你的目标机器......

于 2009-08-10T12:50:57.953 回答
0

他的观点是,如果你为 32 位开发,你将有不到 4GB 的内存可供使用。在 64 位服务器上,您可能拥有超过 4GB 的 RAM。基本上是诱使您对内存要求更加节俭。它更多地与内存使用有关,而不是 CPU 上的原始数字运算。

于 2009-08-10T12:51:38.377 回答
0

虽然我无法用数字来量化它,但我注意到与“新城”相同的东西。我曾经在我的笔记本上运行 XP x86,后来又运行 vista x86。在我升级到 Vista X64 之后,它变得更加快捷。不知道这是否是驱动程序问题,我运行 SQL Server x64 等的事实,它可以使用两倍数量的 cpu 寄存器,Windows 中“内部”内容的优化等等,但我可以注意到差异。 ..

于 2009-08-10T12:57:30.407 回答
0

我认为显而易见的建议是使用您的代码将要部署的任何操作系统。如果您的开发环境与部署环境尽可能接近,那么仅在部署环境中出现错误的可能性就会降低。

于 2009-08-11T02:03:11.497 回答