我记得听说为了性能,开发机器应该是 32 位的,而服务器应该是 64 位的。我认为是Dot Net Rocks 上的 Richard Campell!提到了这一点。
为什么 32 位比 64 位的开发盒更快,而服务器反之亦然?
我记得听说为了性能,开发机器应该是 32 位的,而服务器应该是 64 位的。我认为是Dot Net Rocks 上的 Richard Campell!提到了这一点。
为什么 32 位比 64 位的开发盒更快,而服务器反之亦然?
一个主要原因是 32 位操作系统无法处理 4GB 的 RAM。在涉及虚拟机的许多开发环境中,4-8GB 可能是至关重要的,甚至一般来说是繁重的工作。这就是为什么我总是尽可能坚持使用 64 位,并且所有现代 CPU 都支持它。
这部分取决于您的工具 - 例如,Visual Studio 仍然是一个 32 位应用程序(但可从 x64 使用 - 只是没有巨大的收益)。
但是,如果您使用主操作系统来托管虚拟机,那么您可能会从大量内存中受益于各种虚拟机 - 然后您可以选择 32 位和 64 位虚拟机来满足您的需求(很难在 32 位主机中有一个 64 位来宾 VM)。
就个人而言,我仍在使用 32 位进行开发。对于我所做的大部分事情来说,这都很好。
我运行 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 操作系统,那么我的经验可能不适用。
对于开发人员而言,我认为 32 位机器并不比 64 位机器快。确实,您在 64 位操作系统上的开发环境是在模拟的 32 位环境中运行的,这会产生轻微的开销。另一方面,您会发现 64 位操作系统稍微快一些,因为内部数据路径是 64 位的,使操作系统能够在一次操作中移动两倍的数据。这使得 64 位操作系统比 32 位操作系统稍快。64 位操作系统的缺点是指针大一倍。
真正重要的是 64 位操作系统非常稳定,可以访问更多的物理内存,并且可以在不牺牲性能的情况下运行 64 位和 32 位应用程序和虚拟机。32 位操作系统属于过去。
拥有大量内存会改变您的工作方式,有时甚至会极大地改变您的工作方式。我用 4 个不同的开发环境(1 个主干、2 个分支和第四个用于外部项目的环境)运行 8 个虚拟屏幕。只需 12GB 内存和 30 英寸屏幕。
我的笔记本电脑中安装了 64 位 Ubuntu。我将它用于开发,我根本没有性能问题。我觉得这样更好地利用计算机资源。
我能想到选择 32 位操作系统的唯一原因是您知道您开发的内容可以在 32 位和 64 位机器上运行。但是VS让你选择你的目标机器......
他的观点是,如果你为 32 位开发,你将有不到 4GB 的内存可供使用。在 64 位服务器上,您可能拥有超过 4GB 的 RAM。基本上是诱使您对内存要求更加节俭。它更多地与内存使用有关,而不是 CPU 上的原始数字运算。
虽然我无法用数字来量化它,但我注意到与“新城”相同的东西。我曾经在我的笔记本上运行 XP x86,后来又运行 vista x86。在我升级到 Vista X64 之后,它变得更加快捷。不知道这是否是驱动程序问题,我运行 SQL Server x64 等的事实,它可以使用两倍数量的 cpu 寄存器,Windows 中“内部”内容的优化等等,但我可以注意到差异。 ..
我认为显而易见的建议是使用您的代码将要部署的任何操作系统。如果您的开发环境与部署环境尽可能接近,那么仅在部署环境中出现错误的可能性就会降低。