0%

.NET 基金会项目介绍-BenchmarkDotNet

BenchmarkDotNet 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

中文介绍

中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。

BenchmarkDotNet

BenchmarkDotNet 是一款功能强大的.Net基准测试类库。

概要说明

  • 包含标准基准测试所需要的常规操作:为每个基准测试方法生成隔离的项目;自动选择迭代的次数;自动预热测试;运行开销评估;统计数据汇总等等
  • 支持以下运行时环境:传统 .NET Framework、.NET Core (RTM) 和 Mono
  • 支持以下编程语言: C#、 F# 和 Visual Basic
  • 支持以下操作系统: Windows、 Linux 和 MacOS
  • 能够轻松对比不同环境下的运行效果,例如:x86x64 的对比, LegacyJitRyuJit 的对比。详细可以参看Jobs
  • 支持以下报表类型: markdown, csv, html, 普通文本 和 png 格式的图表.
  • 支持高级特性:设置测试基线(Baseline)参数化测试(Params)
  • 基于 ETW 事件实现强大的程序诊断支持,详见BenchmarkDotNet.Diagnostics.Windows

项目详情

相关链接

笔者简评

您的代码性能更高?来吧,Benchmark 跑一波!

BenchmarkDotNet 提供了进行小范围代码性能测试的基础框架。它已经成为当前 .NetCore 底层开发类库事实上的基准测试框架。

基于这样的框架,开发者可以对自己的函数代码进行基准测试。也可以完成一些有意思的小测试:

英文介绍

BenchmarkDotNet

BenchmarkDotNet is a powerful .NET library for benchmarking.

Summary

  • Standard benchmarking routine: generating an isolated project per each benchmark method; auto-selection of iteration amount; warmup; overhead evaluation; statistics calculation; and so on.
  • Supported runtimes: Full .NET Framework, .NET Core (RTM), Mono
  • Supported languages: C#, F#, and Visual Basic
  • Supported OS: Windows, Linux, MacOS
  • Easy way to compare different environments (x86 vs x64, LegacyJit vs RyuJit, and so on; see: Jobs)
  • Reports: markdown, csv, html, plain text, png plots.
  • Advanced features: Baseline, Params
  • Powerful diagnostics based on ETW events (see BenchmarkDotNet.Diagnostics.Windows)

Project Details

以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。



其他项目地址

------ 本文结束------