在 BenchmarkDotNet 的测试方法中,可以使用 [ReturnValueHolder]
特性来指定一个返回值的占位符,在运行时将其分配的内存降为最小。例如:
public class MyBenchmark
{
[Benchmark]
[ReturnValueHolder] // 声明返回值占位符
public int MyBenchmarkMethod()
{
// 运行代码
return result; // 返回值将被存储在占位符中,而不是直接返回
}
}
这样,在运行测试时,BenchmarkDotNet 将使用占位符来存储返回值,而不是分配新的内存。