提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-12-27 13:57:12.510|阅读 902 次
概述:本文介绍了6个关于.NET性能建议的技巧,现在就来了解一下吧~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
ANTS Performance Profiler是一种用于分析.NET框架支持的以任何语言编写的应用程序的工具。ANTS性能分析器能分析所有.NET应用程序,包括ASP.NET网络应用程序、Windows服务和COM+应用程序。ANTS性能分析器能在几分钟内识别性能瓶颈,运行非常快速,且响应时,对程序的执行具有最低影响。
ANTS性能分析器可用作一种独立工具,也可用作Red Gate .NET Developer Bundle的一部分。本文介绍了6个关于.NET性能建议的技巧,现在就来了解一下吧~
点击下载ANTS Performance Profiler正式版
技巧1:如果必须在代码中测量较小的时间差异,请确保使用StopWatch类
DateTime.UtcNow不是为高精度计时而设计的,并且通常具有超过10ms的分辨率,使其不适合测量小时间段。 StopWatch类是为此目的而设计的,尽管要当心使用StopWatch工具结束整个代码库。
技巧2:充分利用所有瓶颈来提高.NET性能
虽然Async-Await习惯运作良好,但是架构模式可以切换到更高的档位。处理多个小型作业时,请考虑将作业部分拆分为特定于资源的块。然后为每个资源创建单独的线程,并在两者之间放置内存缓冲区。目标是在任何给定的计算机上充分利用任何资源作为.NET性能的瓶颈。
例如,在下图中,应用程序包含四个步骤。
它首先从磁盘读取文件,对其进行一些处理,将结果存储在数据库中,最后删除该文件。每个红色框是一个单独的线程,每个垂直的“泳道”代表一个特定的资源。该过程从上到下流动,并使用队列作为每个资源交换机之间的缓冲区。
技巧3:使用防御性编码技术,例如在可行的情况下执行空检查,以避免在运行时出现NullReferenceExceptions
异常可能很慢,应只在特殊情况下使用,而不是用于一般控制流程。与其假设一个对象在运行时不会为空,而是使用防御性编码以确保您的代码仅作用于非空的对象。这将通过引发更少的异常来帮助.NET性能,并确保更健壮和可靠的应用程序。
技巧4:假定.NET性能问题是您的错,除非您有相反的证据
当出现.NET性能问题时,很容易将责任归咎于系统代码、第三方库,甚至.NET框架本身。但是,在几乎所有情况下,您的应用程序都在滥用他人的代码,因此在责怪其他人之前,请确保您有确凿的证据证明问题出在其他地方。
技巧5:预先准备.NET性能优化项目
好的.NET性能优化项目需要在四个关键领域进行适当的准备。
创建一个测试环境,您可以在其中再现一致的.NET性能行为。理想情况下,如果您多次运行该工具,则希望它显示出相同的.NET性能。没有这样的测试环境,不要开始优化。
在进行任何更改以用作基准之前,请测量.NET性能KPI。更改代码后,将性能与基准进行比较。如果更改使代码更快,那么新的测试结果就是您的新基准。如果不是,请撤消更改并继续使用.NET Profiler工具(如ANTS Performance Profiler)进行分析。
不要同时改变太多。进行小的更改,进行度量,然后决定是否要保留更改。如果进行多项更改,那么一项更改可以使您的代码更快,而另一项更改可能会破坏积极的效果。
永远不要猜,测量!获取一个像ANTS这样的.NET探查器工具,并使用它来发现.NET性能瓶颈。在许多情况下,性能杀手是您意想不到的。避免仅仅因为感觉性能不好而优化代码。
技巧6:在优化代码之前,先对应用程序进行分析,以便了解瓶颈在哪里
这是很多地方都在说的话,但我想再说一遍,因为它是如此重要。即使使用Visual Studio中有限的.NET分析器工具来分析应用程序中的性能问题也将有所帮助。借助ANTS Performance Profiler等专业的.NET Profiler工具,您将发现有关瓶颈的更多信息,并且能够更快地执行更多操作。
本教程内容到这里就结束了,希望对您有所帮助~您可以下载ANTS Performance Profiler试用版免费评估~
想要购买产品正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
ANTS性能分析器能分析所有.NET应用程序,包括ASP.NET网络应用程序、Windows服务和COM+应用程序。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢