如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

提升 Visual Studio 2012 的响应能力

  • 2012 年 7 月 01 日
  • 本文字数:723 字

    阅读完需:约 2 分钟

微软开发经理 Eric Knox 最近发表了一篇文章,其中提供了对 VS2012 编辑性能所做出的内部改善的深度观点。 Knox 的团队改进了他们的方法,不仅仅使用了 PerfWatson ,还结合使用了一种叫做即时延迟跟踪器(Immdiate Delay Tracker,IDT)的新工具。

PerfWatson 收集了“迷你的堆信息,让微软可以确定在一天中的特定时间点,运行了哪些 Visual Studio 的代码”。 因为工程师想要基于每次击键来监控 VS 的性能,他们把 IDT 设计为“更细粒度的度量系统”,它使用了 Event Tracing for Windows (ETW)。

ETW 是一种操作系统提供的通用目的、高速的跟踪工具。它使用了内核实现的缓存和日志机制,从而为用户态应用程序和内核态设备驱动所引发的事件都提供了跟踪机制。此外,ETW 让你可以动态地启用和禁用日志功能,使得在生产环境中执行详细跟踪更容易,而不需要重启操作系统或者应用程序。

据 Knox 所说,基于 ETW 的方法的优势在于,“团队不会像 PerfWatson 一样使用单一的栈,而是每毫秒都会获得调用栈,然后聚合分析栈的集合,而不是单一时间点的数据。” 然后,使用 VS 的工程师可以获得有用的性能信息,同时最小化观察程序的影响。 Knox 的团队监控了微软的内部 VS 用户,实现了修正之后,记录了以下获得的性能数据:

Visual Studio 2010

当前

C#

50 毫秒以上的按键

15.05%

7.87%

100 毫秒以上的按键

10.26%

0.62%

200 毫秒以上的按键

1.50%

0.06%

C++

50 毫秒以上的按键

11.85%

0.48%

100 毫秒以上的按键

7.88%

0.20%

200 毫秒以上的按键

6.85%

0.07%

VB

50 毫秒以上的按键

0.83%

0.60%

100 毫秒以上的按键

0.13%

0.06%

200 毫秒以上的按键

0.06%

0.06%

由于 VS 2012 RC已经发布,读者可以自己使用产品,并判断这些变化是否显著。

查看英文原文: Improving Responsiveness in Visual Studio 2012

2012 年 7 月 01 日 03:135830
用户头像

发布了 340 篇内容, 共 118.9 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

Android布局优化:include-、merge,android开发入门与实战作者

android 程序员 移动开发

Android干货---丢掉你老旧的参数传递方式,投入Bracer的怀抱吧。

android 程序员 移动开发

Android应用开发编译框架流程与IDE及Gradle概要,android游戏开发从入门到精通

android 程序员 移动开发

Android屏幕适配前先了解这些,在阿里工作5年了

android 程序员 移动开发

Android应用Context详解及源码解析,Android大厂技术面试题汇总

android 程序员 移动开发

Android开发7年,疫情期间八家大厂高工的面试经历和真题整理

android 程序员 移动开发

Android四大组件之一(broadcast receiver)(1),kotlin版权

android 程序员 移动开发

Android四大组件之一(broadcast receiver),全网首发

android 程序员 移动开发

Android基础之Binder分析,flutter环境变量配置

android 程序员 移动开发

模块二作业

Geek_1d37ea

架构实战营

Android复习资料——常见面试算法题汇总,2021年最新Android大厂面试笔试题分享

android 程序员 移动开发

Android学习趋势:讲一下音视频热点知识,移动设备开发图书

android 程序员 移动开发

Android启动优化、布局优化必经之路—如何精准获取页面绘制时间

android 程序员 移动开发

Android应用启动流程分析(1),android应用开发实战项目

android 程序员 移动开发

Android开发UI新技能,你get这个新技能了吗?(附源码详解)

android 程序员 移动开发

Android大牛是如何炼成的:郭霖的成长之路专访,flutter游戏引擎

android 程序员 移动开发

Android学习别“走弯路”,django实战项目源码

android 程序员 移动开发

Android布局优化技巧大盘点,最新BAT大厂面试者整理的Android面试题目

android 程序员 移动开发

学习总结(第二周)

Geek_1d37ea

架构实战营

Android大牛近期大厂面试详解(附解答),hashmap底层原理

android 程序员 移动开发

Android妹子深夜和我视频,哭的像个泪人,我该怎么安慰

android 程序员 移动开发

Android在开发初期之后应该何如学习?怎样才算精通?方向在哪儿

android 程序员 移动开发

Android应用启动流程分析,IDEA太强悍了

android 程序员 移动开发

Android开发3年,我转Java后台了,真香,想转行当程序员的必看

android 程序员 移动开发

Android岗常见40道面试题,面试前必须了解的知识点!,android开发工程师企业所在区域

android 程序员 移动开发

Android应用保活实践,字节跳动Android研发岗这些知识点内部泄露出来了

android 程序员 移动开发

Android开发5年,分享下初级-中级-高级工程师-划分标准

android 程序员 移动开发

Android开发5年,怎么样通过自学拿到40W年薪的?,kotlin语言架构

android 程序员 移动开发

Android基础系列(3)编译时注解处理器APT,android订餐系统源码

android 程序员 移动开发

Android基础进阶 - 消息机制 之Native层分析,统统给你解决

android 程序员 移动开发

Android小白在两年时间成为一个大牛,我究竟做了什么?

android 程序员 移动开发

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

提升Visual Studio 2012的响应能力_语言 & 开发_Jeff Martin_InfoQ精选文章