与 Visual Studio .NET 开发工作站相关的基准测试

Ken*_*ned 6 windows-7 performance visual-studio benchmarking

我正在某种 VMWare 服务器上的虚拟工作站上开发一个带有 Windows 7 64 位、Visual Studio 和 Sharepoint 的系统。

与普通预算的笔记本电脑相比,系统速度非常慢,Visual Studio 在输入代码时滞后,IntelliSense滞后,打开和保存文件需要很长时间。

据我所知,虚拟机的规格还可以,而且似乎没有交换等等,而且 IT 部门还表示,他们在监控系统时看不到任何问题。

只要问题没有得到很好的记录,IT 部门和管理层就不想向我们扔钱(=升级的笔记本电脑),所以我需要展示某种基准。

我已经很多年没有做任何系统基准测试了,我不知道当前的基准测试软件,所以我的问题是哪个基准测试与 Visual Studio 性能最相关?不仅仅是为了快速编译,也是为了体现系统的“响应能力”。

Ken*_*ned 1

如果任何人(除了我之外)不知道如何执行此操作,我将发布我的 powershell 脚本,该脚本使用 Visual Studio 定时运行“一轮工作”。

  1. TFS创建临时工作区
  2. TFS获取最新的解决方案目录
  3. TFS 检出文件并撤消检出文件
  4. 重建解决方案(msbuild)
  5. 从指定的 dll 运行单元测试 (mstest)
  6. 删除文件和工作区
  7. 将工作输出写入控制台
  8. 写出执行前 5 个步骤所花费的秒数

干杯,用户30715

    ## 进行更改以适应您的环境 ##
    $BASEDIR="C:\temp\test\" # 临时文件的存储位置
    $TFS_SERVER="http://mytfs.srv:8080" # TFS 服务器
    $TFS_PROJECT_DIR="$/Path/To/My/Solution/Directory" # TFS 上解决方案目录的路径
    $SLNFILE="My.App.sln" # 解决方案文件的路径(相对于 TFS_PROJECT_DIR)
    $UNIT_TEST_DLL="Relative/Path/To/My.App.Test.dll" # 单元测试 dll 的路径(相对)
    ######################################

    $TSTAMP=获取日期 -格式 yyyy-MM-dd_HH-mm-ss
    $TESTNAME=“tfstest”。+ $TSTAMP
    $WORKDIR=$BASEDIR + $TESTNAME
    $LOG=$BASEDIR + $TESTNAME + ".log"

    函数 Log()
    {
        $输入| 写主机
    }

    函数 DoWork()
    {
        write-host“从 TFS 获取源”
        mkdir $WORKDIR
        推送$WORKDIR
        tf 工作区 /new /noprompt /server:$TFS_SERVER $TESTNAME
        tf 工作文件夹 /map /服务器:$TFS_SERVER /工作空间:$TESTNAME $TFS_PROJECT_DIR $WORKDIR
        tf get /recursive /force /noprompt $TFS_PROJECT_DIR
        write-host“正在检出文件 $SLNFILE”
        tf 结帐 $SLNFILE
        write-host“撤消结账”
        tf 撤消 /noprompt $SLNFILE
        write-host“开始构建过程”
        msbuild $SLNFILE /目标:重建
        写主机“运行测试”
        mstest /testcontainer:"$UNIT_TEST_DLL"
        波普德
    }

    函数清理()
    {
        写主机“清理混乱”
        推送 $BASEDIR
        tf 工作文件夹 /unmap /workspace:$TESTNAME $WORKDIR
        tf 工作区 /删除 /noprompt $TESTNAME
        rmdir -recurse -force $WORKDIR
        波普德
    }

    $VSTIME=(measure-command { DoWork 2>&1 | Log }).TotalSeconds
    清理

    write-host“花了 $VSTIME 秒做工作”