多语言笔记系列:Polyglot Notebooks 中运行 BenchmarkDotnet 基准测试
运行 BenchmarkDotnet 基准测试
在多语言笔记中,可以很方便的使用 BenchmarkDotnet 进行基准测试。
使用步骤
1. 安装 BenchmarkDotNet 包
// 默认包源
#i "nuget:https://api.nuget.org/v3/index.json"#r "nuget: BenchmarkDotNet, 0.13.12"
2.编写基准测试类
定义包含 [Benchmark] 属性的测试方法
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;public class MyBenchmarks
{[Benchmark]public void TestMethod(){// 待测试的性能代码}
}
3. 运行基准测试
在笔记中调用 BenchmarkRunner,需显式指定配置(如 Release 模式):
var summary = BenchmarkRunner.Run<MyBenchmarks>(new BenchmarkDotNet.Configs.DebugInProcessConfig());
关键注意事项
-
配置模式
Polyglot Notebook 默认使用 Debug 配置,需通过 DebugInProcessConfig 强制适配,否则可能报错
-
内存分配分析
添加 [MemoryDiagnoser] 属性可监控内存分配情况
-
避免内联优化
若测试简单方法,需确保编译器未将其优化为内联代码,可通过复杂逻辑或 [MethodImpl] 属性规避