对于32位的Visual Studio Code,64位的可量化优势是什么?

Eri*_*ard 22 performance 64-bit visual-studio visual-studio-code

我不是硬件人员,但我知道64位版本问题中的Visual Studio被微软拒绝,声称64位版本不会有良好的性能.

我认为两者之间的两个显着差异是代码库.一个人开始在1997年的生活,人们会认为这意味着Visual Studio方面的更多包袱,更少的机会拥有非常现代的应用程序架构和代码,这可能会使它变得更难,可能的东西可以构建为32位和一些理由不适合64位?我不知道.

另一方面,Visual Studio Code是一个现代的Electron应用程序,这意味着它几乎只是编译HTML.CSS和JavaScript.我打赌制作一个版本的Visual Studio Code几乎没有障碍物,虽然性能可能不是真正引人注目的,为什么不呢?

PS

我仍然想了解哪些方面的性能可以提高,以及这种改进对于开发人员来说是否可以忽略不计.您可能知道的任何其他信息或有趣的事实将是伟大的我希望尽可能多的信息,我将用我发现的任何未提及的事实更新问题.

Cy *_*nol 15

64位Visual Studio Code的存在主要是因为Node.js和基于ChromiumElectron运行时支持32位和64位架构,而不是应用程序的主要设计目标.微软开发了VS Code with Electron,这是一个用于使用Web技术构建桌面应用程序的框架.

因为Electron已经包含了两种体系结构(以及不同操作系统)的运行时,VS Code可以为这两种版本提供额外的工作量--Electron从JavaScript代码中抽象出机器之间的差异.

相比之下,Microsoft将大部分Visual Studio作为包含机器特定指令的已编译二进制文件进行分发,并且重写和维护64位源代码的成本在历史上超过了任何好处.通常,如果64位程序永远不会超过32位系统的限制,那么它对于最终用户来说并不比32位程序快得多.Visual Studio的IDE外壳并没有太多繁重的工作 - 典型工作流程中的大部分昂贵处理都是由通常支持64位系统的集成工具链(编译器等)执行的.

考虑到这一点,我们在运行64位版本的VS代码时可能会注意到的任何好处与使用64位Web浏览器时看到的相似.最重要的是,64位版本可以处理超过4 GB的内存,如果我们需要同时打开大量文件或非常大的文件,或者我们使用许多大量扩展,这可能很重要.对我们这些开发人员来说最重要的是 - 编辑器在滥用时不会耗尽内存.

虽然这听起来像是值得签名的保险政策,但即使我们从未达到内存限制,请记住64位应用程序通常比32位应用程序消耗更多内存.如果我们希望更小的内存占用,我们可能想要选择32位版本.大多数开发人员可能永远不会达到4 GB的墙.

在极少数情况下,如果我们使用包装本机代码的扩展(如为特定体系结构构建的DLL),我们可能需要选择32位或64位版本.

我们使用64位版本的VSCode所遇到的任何其他后果(正面或负面)取决于Electron底层运行时组件的版本及其运行的操作系统.随着发展的进展,这些特征不断变化.因此,很难以一般方式说明32位或64位版本的性能优于另一种.

例如,V8 JavaScript引擎历史上禁用了今天启用的64位系统上的一些优化.某些优化仅在操作系统为其提供设施时才可用.

Windows上未来的64位版本可以利用地址空间布局随机化来提高安全性(地址空间中的更多位会增加熵).

对于大多数用户来说,这些细微差别确实无关紧要.选择与系统架构匹配的版本,并仅在遇到问题时保留切换.对编辑器的更新将继续为其底层组件带来优化.如果资源使用是一个大问题,您可能不希望首先使用GUI编辑器.