.NET基准测试代码

 

[原文发表地址] Benchmarking .Net code

[原文发表时间] February 25, 2016

前不久我发布了关于诊断和解决.NET序列化瓶颈的标准化基准, 也邀请Matt Warren 做客我的播客,然后我们做了一集关于性能作为特色 的展示。

今天Matt 正在与Andrey Akinshin 一起在称 为BenchmarkDotNet的开源库上工作。这 个库已经成为一个功能非常完善的.NET标杆库,并正被一些大项目使用。它甚至被 Ben Adams用在“Kestrel”的基准讨论中。

通常来讲基准属性其实非常类似于测试,例如:

code 

其输出结果是极其友好的,就如下表所所示。你甚至可以方便地将它们粘贴到GitHub的问题表中。

 results

通常来讲,它正在做一些你我可能都会做错的事情,关于基准测试的令人感到无聊的数据比特流。你可以参考很多关于框架的例子CLR内部属性进行了解。

最后,它包含了大量的,能够使我们更容易地写出基准测试程序,包括CSV /减码/文本输出,参数化基准测试和诊断程序。加上它现在可以告诉你给每个基准所分配的内存,你可以参考Matt的最近的一篇博客获取更多细节的信息(通过使用ETW事件实现,如PerfView)。

社区里有许多了不起的测试基准。ASP.NET core近期达到每秒收到1.15万个请求的记录。

01

它每秒超过了12.6 Gbps。用户们看到了完善的在ASP.NET核心上进行的性能改进与升级(前身叫做ASP.NET RC1)。

02

相信这将是伟大的一年!一定要在GitHub上探索关于ASP.NET的基准https://github.com/aspnet/benchmarks,正如我们向TechEmpower基准探索一样!

您在使用什么基准测试你的代码?