小编Ram*_*mga的帖子

为什么 Avg() 比 Sum() 快?

我有在 BenchmarkDotnet 上测试的代码..

然后我发现有些不对劲..

我的项目版本是

C# 11.0 .NET 7.0 Nuget 包 BenchMarkDotnet 0.13.5

ReadOnlyMemory<float> readOnlyFloats;
ReadOnlyMemory<double> readOnlyDoubles;

    [GlobalSetup]
    public void Setup()
    {
        var rand = new Random();
        var floats = Enumerable.Range(0, ArrayLength).Select(a => rand.NextSingle()).ToArray();
        var doubles = Enumerable.Range(0, ArrayLength).Select(a => rand.NextDouble()).ToArray();

        readOnlyFloats = floats;
        readOnlyDoubles = doubles;
    }

    [Benchmark]
    public double Calc_WaveStatistic_Sum()
    {
        return readOnlyFloats.Span.Sum();
    }

    [Benchmark]
    public double Calc_WaveStatistic_Sum_Double()
    {
        return readOnlyDoubles.Span.Sum();
    }

    [Benchmark]
    public double Calc_WaveStatistic_Avg()
    {
        return readOnlyFloats.Span.Avg();
    }

    [Benchmark]
    public double Calc_WaveStatistic_Avg_Double()
    {
        return readOnlyDoubles.Span.Avg();
    } …
Run Code Online (Sandbox Code Playgroud)

c# average sum benchmarkdotnet

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

标签 统计

average ×1

benchmarkdotnet ×1

c# ×1

sum ×1