小编Sal*_*la'的帖子

使用 BenchmarkDotNet 比较已初始化的 .NET 列表与未初始化的列表时出现 OutOfMemoryException

我想创建一个基准测试来显示已初始化和未初始化的 .net 列表之间的性能差异,但我遇到了一些麻烦。我尝试了不同的方法来编写这个基准测试,但没有成功。每次运行代码时,我都会得到以下信息:

System.OutOfMemoryException: Array dimensions exceeded supported range

列表初始化基准.cs

using BenchmarkDotNet.Attributes;

namespace list_benchmark
{
    public class ListInitializationBenchmark
    {
        private List<int> notInitializedList; // Not initialized list
        private List<int> initializedList; // Initialized list with capacity

        [Params(1000, 10000, 100000)]
        public int BatchSize { get; set; }

        [GlobalSetup]
        public void GlobalSetup()
        {
            notInitializedList = new List<int>(); // Not initialized list
            initializedList = new List<int>(BatchSize); // Initialized list with capacity
        }

        [Benchmark]
        public void ProcessNotInitializedList()
        {
            for (int i = 0; i < BatchSize; …
Run Code Online (Sandbox Code Playgroud)

c# benchmarkdotnet

2
推荐指数
1
解决办法
83
查看次数

标签 统计

benchmarkdotnet ×1

c# ×1