16得票1回答
如何阅读BenchmarkDotNet的结果表格

我运行了一个基准测试示例,并得到了如下的表格。BenchmarkDotNet=v0.12.0, OS=Windows 7 SP1 (6.1.7601.0) Intel Xeon CPU E5-4660 v3 2.10GHz, 1 CPU, 28 logical and 14 physical ...

12得票3回答
如何解读BenchmarkDotNet和dotMemory的结果?

所以,我在我的Main()方法中有以下代码: for (int x = 0; x < 100; x++) // to mimic BenchmarkDotnet runs for (int y = 0; y < 10000; y++) LogicUnderTest...

8得票1回答
为什么 Mono 运行一个简单的方法比 RyuJIT 更慢?

出于好奇我创建了一个简单的基准测试,但无法解释结果。 作为基准测试数据,我准备了一个具有一些随机数值的结构体数组。准备阶段不计入基准测试: struct Val { public float val; public float min; public float ...

8得票1回答
BenchmarkDotNet - 如何在类外注入参数

我正在使用BenchmarkDotNet库进行性能检查,想要在使用基准测试类时注入参数。例如: public class Program { public static void Main() { var benchmark1 = new BenchmarkW...

7得票1回答
激活结构体而不将其存储为本地变量,预计比不将其存储为本地变量慢吗?

我在尝试理解.NET Core 2.1中的性能问题。此处可以找到相关代码: https://github.com/mike-eee/StructureActivation 这是相关的基准测试代码,使用BenchmarkDotNet进行测试: public class Program { ...

11得票1回答
使用Benchmark.NET是否可以在性能有明显退化时“使”CI构建失败?

我有单元测试,如果其中一个测试失败,我的构建会失败。 我希望将相同的原则应用于性能方面。我为库中几个热点路径编写了一系列微基准测试。根据经验,在这些区域中的放缓对库的整体性能影响不成比例。 如果有一种“性能构建”的概念,可以在存在过于显著的性能回归时失败,那将是很好的。 我曾考虑硬编码不...

9得票1回答
BenchmarkDotNet与异步任务

我正在尝试运行以下代码: public class Parsing { private const string Url ="blabla"; private static HttpClient client = new HttpClient(); private ...

9得票1回答
C# for循环和Array.Fill的性能差异

我使用 BenchmarkDotNet 实现了以下基准测试: public class ForVsFillVsEnumerable { private bool[] data; [Params(10, 100, 1000)] public int N; [...

38得票2回答
在XUnit中运行BenchmarkDotNet

我的项目中使用的是.NET Core 3.1(Web API,VS2019)和XUnit 2.4.1。最近,我考虑添加一些性能测试,然后我找到了这个库-BenchmarkDotNet。由于我已经在使用XUnit进行其他测试,所以我想从XUnit [Fact]中运行BenchmarkDotNet...

7得票1回答
Newtonsoft.Json反序列化的基准测试:从流和字符串中进行

我对使用Newtonsoft.Json反序列化HTTP响应JSON有效负载的两种方法的性能(速度、内存使用)进行比较很感兴趣。 我知道Newtonsoft.Json的性能技巧要使用流,但我想了解更多并获得具体数据。我使用BenchmarkDotNet编写了简单的基准测试,但结果令我有些困惑(...