Microsoft改进了Visual C ++编译器
Microsoft正在为其Visual C ++编译器后端开发高级代码优化器,以提高性能和代码大小。
Visual C ++是Microsoft在1979年创建的静物通用系统编程语言的变体。Microsoft“SCRAND PLACED GROUP中的软件工程师表示,在本周星期一的预览版本中,代码优化器现在主要用于测试目的。
[思考自己撞击吗?下载InfoWorld的29提示,以获得独立开发人员,用于独奏和成功 - 独奏程序员的宝贵指导。/跟上使用InfoWorld应用程序开发时事通讯编程的热门话题。]LUP说,微软希望能够实现更积极的优化,包括一些可以利用更多编译时间信息和现代编译技术的一些侵略性优化。“一些较旧的优化通行证的设计使得难以实现更先进的转换并以更快的步伐改进,”他说。“随着新框架旨在成为许多未来优化努力的基础,核心设计目标是使其更容易实施,测试和测量新优化。”
涉及代码类型时,Microsoft正在改进标量和矢量代码。“有许多情况下可以改善性能和代码大小,有时非常大幅度。框架试图解决旧优化器的几种缺陷,“leup说。
利用当前的技术,旧的表达式优化器具有一小一组功能和功能的有限视图;它也缺少许多小优化。“新优化器利用了静态单分配表单,允许处理更复杂的表达式,这可能跨越整个功能,”LUP说。“SSA形式的另一个优点是它使得可以编写更简单和更有效的算法,消除了需要使用更复杂和更慢的技术,例如数据流分析。”
该项目还可以轻松开发,缺点较少的潜力,提供更好的代码静态分析,并强调测试和正确性。“鉴于项目的大范围,确保和维持正确性是一个首要任务,”Lup说。“这是通过使用正式验证,使用随机生成的程序(FUZZ测试)和流行的节目和图书馆来实现的,例如Chrome,Firefox,Coreclr和Chakra。”
LUP是建议开发人员使用新优化器构建和测试应用程序,并报告任何问题。他承诺会有更多的改善;可能对下一个Visual Studio版本的优化包括对布尔表达式的改进,类似分支和比特估计器增强的合并。
使用Nuget安装最新的VisualCPPTools包可以访问具有新优化器的编译器位。优化器的官方发布计划为Visual Studio 2015更新3。Microsoft在可用时不会发表评论;更新2在3月下旬发布。
这个故事“微软改善了Visual C ++编译器”最初由Infoworld发布。