• 硬盘速度和Visual Studio性能


    人们经常在技术大会上向我询问PC硬件方面的建议。具体地说,“你能否推荐我应该用什么样的机器来用Visual Studio做开发?”或者“你的笔记本看上去非常快,那是什么类型的?”

    在这个问题上,我的一些建议是很标准和明显的:从理想的角度讲,你要得到一个双核或更好的CPU。我还总是推荐内存要2G或更多。

    但有一个好像经常让人有点吃惊的建议是,确认你在购买新机器时,有可能的话,总是购置最快的硬盘,有必要的话,把购买额外CPU处理器速度的钱用来投资购置较快的硬盘。

    为什么硬盘速度是重要的?

    在过去的几年里,多核CPU已经变得足够快了,在大多数常见的应用场景里,你最终并不会为机器上的处理器能力的原因而感到滞碍(block)。

    最有可能滞碍你的是你的机器访问你硬盘的Seek和I/O速度。如果你使用的应用需要读写大量的文件,你的CPU利用率非常低是典型的,因为应用也许会花费它的大部分时间在等待硬盘操作的完成。

    当你用Visual Studio做开发时,你结果会读写许多文件,花费大量的时间做硬盘I/O操作。大的项目和解决方案可能会有成百上千个源文件(包括图片,css,网页, 用户控件等等)。当你打开一个项目时,Visual Studio需要读取和分析其中所有的源文件以提供intellisense。当你使用源码控制系统,check out一个文件时,你会更新硬盘上的文件和时间戳。当你编译方案时,Visual Studio 会检查来自多个硬盘路径的程序集是否更新过,当编译完成时,需要写出多个新的程序集,同时在硬盘上持久相应的.pdb调试器符号文件(每个文件都是单独的 保存操作)。当你把调试器附上一个进程时(当你按F5运行应用时的默认行为),Visual Studio需要查询和装载应用所有的程序集调试器符号文件和DLL,以设置断点。

    如果你有个慢的硬盘,Visual Studio会在等待它完成这些读写操作时阻塞住,这会极大地减慢你整体的开发体验。

    对笔记本硬盘的一些建议

    大多数PC笔记本常规硬盘的速度是5400rpm,这是非常慢的盘。如果你打算买一个新的笔记本,并计划在上面使用Visual Studio的话,我强烈建议你得到7200rpm的硬盘。你以后会察觉这会带来多么大的好处。

    你也许会想,如果你买的是个高档的笔记本,内含的“当然”不会是块慢的硬盘吧。别这么想,看一下这个高端的ThinkPad(我用的就是这个牌子)的默认配置,或者这个高端的Dell XPS笔记本(3343美元起价)的 默认配置,或者这个17寸 Apple MacBook Pro笔记本(2799美元)的默认配置。注意,这三个高档的笔记本默认配备的都是速度为5400rpm的硬盘

    加上额外的55美元(Lenovo), 93美元(Dell) 或者200 美元(Apple),你就可以升级到速度为7200rpm的硬盘。投入这小量的额外金钱换来一个比较快的硬盘对性能造成的差别很大,绝对是值得的投资。

    对桌面计算机硬盘的一些建议

    对于桌面计算机的配置,做2个方面的硬盘性能考虑:

    1) 考虑购买一个10000rpm的硬盘。这些硬盘超快,跟那些随桌面机器配置的常见的7200rpm硬盘相比,区别很明显(Jeff Atwood对此有个很棒的贴子,推荐使用这些快硬盘)。

    2) 考虑购买第二个硬盘,设置你的操作系统和OS虚拟内存交换文件(virtual memory swap file)使用其中一个硬盘,然后把你所有的数据(图片,文档,以及Visual Studio 项目等)储存在第二个硬盘上。这样的方法的好处是,你读写数据的操作不会与你操作系统更新虚拟内存文件的硬盘I/O作竞争。

    Visual Studio的其他性能建议

    既然说到改进Visual Studio的性能问题,你也许要参阅一下下面这些博客贴子和文章,里面有一些很好的建议:

    我最近听说的另外一个可能的性能问题是,有几个人报告说用Google工具条插件而遇上了问题。不知道什么原因,在把Visual Studio调试器附上浏览器时,有时会造成很长的耽搁。如果装载你的web应用时你看到有很长的耽搁,而且安装了Google工具条(或其他的工具条) 的话,你也许要试着将它们卸载,看一下是不是它们造成的问题。

    希望本文对你所帮助,

  • 相关阅读:
    bite one's tongue
    你以为你以为的教育是教育吗?[转]
    使用ngnix通过uwsgi app容器部署django项目
    使用ngnix通过uwsgi app容器部署django项目
    vue作为前端的静态代码与后端融合
    linux下的下载器软件
    git的gui client终端
    java 查找bug的工具 SpotBugs 和 Findbugs
    awesome c, awesome c++
    加密货币即时交换平台 Changelly vs ShapeShift vs CoinSwitch vs ChangeNOW
  • 原文地址:https://www.cnblogs.com/yuanbao/p/962538.html
Copyright © 2020-2023  润新知