Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用基准点网络进行LOH基准测试_C#_Large Object Heap_Benchmarkdotnet - Fatal编程技术网

C# 使用基准点网络进行LOH基准测试

C# 使用基准点网络进行LOH基准测试,c#,large-object-heap,benchmarkdotnet,C#,Large Object Heap,Benchmarkdotnet,因此,我正在使用BenchMarkDotNet库进行一些基准测试,以比较字符串或流中的大型JSON文件的反序列化。我很想具体了解LOH的状况,但我找不到如何做到这一点 目前,我使用“MemoryDiagnoser”参数得出以下结论 是否有一种方法也可以对LOH进行基准测试?BenchmarkDotNet没有提供任何关于LOH的额外信息(根本没有我们可以轻松使用的托管API来添加任何有意义的信息) Maoni Stephens的旧MSDN文章解释了如何获得更多信息 如果您只想了解LOH的大小,可

因此,我正在使用BenchMarkDotNet库进行一些基准测试,以比较字符串或流中的大型JSON文件的反序列化。我很想具体了解LOH的状况,但我找不到如何做到这一点

目前,我使用“MemoryDiagnoser”参数得出以下结论


是否有一种方法也可以对LOH进行基准测试?

BenchmarkDotNet没有提供任何关于LOH的额外信息(根本没有我们可以轻松使用的托管API来添加任何有意义的信息)

Maoni Stephens的旧MSDN文章解释了如何获得更多信息


如果您只想了解LOH的大小,可以使用Windows操作系统中的性能监视器。

BenchmarkDotNet不提供任何关于LOH的额外信息(根本没有我们可以轻松用来添加任何有意义信息的托管API)

Maoni Stephens的旧MSDN文章解释了如何获得更多信息


如果您只想获得LOH的大小,可以使用Windows操作系统中的性能监视器。

单击询问功能。或者,由于它是开源的,请自行实现并提交修补程序。单击以询问功能。或者,因为它是开源的,所以自己实现并提交补丁。我试图使用Perfmon,但遇到了一个问题,不确定这是否与BenchmarkDotNet相关;当运行应该生成巨大LOH的方法时,Perfmon中的LOH根本不会移动。如果我在基准之外对这个函数进行一些调用,我会注意到LOH的增加。这可能与基准测试之间的GC调用有关,这会使分配/收集速度过快而无法检测到吗?(不知道这是否是一个愚蠢的问题……这里有点迷糊)您很可能正在查看父进程(您从控制台运行的),它不运行基准。BenchmarkDotNet为每个基准生成、构建和运行新的可执行文件。您可以使用要评测的代码创建一个简单的控制台应用程序,也可以使用BenchmarkDotNet实现自定义的
IDiagonoser
。我正在尝试使用Perfmon,但遇到了一个问题,不确定这是否与BenchmarkDotNet相关;当运行应该生成巨大LOH的方法时,Perfmon中的LOH根本不会移动。如果我在基准之外对这个函数进行一些调用,我会注意到LOH的增加。这可能与基准测试之间的GC调用有关,这会使分配/收集速度过快而无法检测到吗?(不知道这是否是一个愚蠢的问题……这里有点迷糊)您很可能正在查看父进程(您从控制台运行的),它不运行基准。BenchmarkDotNet为每个基准生成、构建和运行新的可执行文件。您可以使用要评测的代码创建一个简单的控制台应用程序,也可以使用BenchmarkDotNet实现自定义
IDiagonoser