小编Pum*_*ces的帖子

小功能的C#性能

我的一位同事一直在阅读罗伯特·C·马丁的"清洁代码",并参加了关于使用许多小功能而不是减少大功能的部分.这引发了关于这种方法的性能后果的争论.因此,我们编写了一个快速程序来测试性能,并对结果感到困惑.

对于初学者来说,这是该功能的正常版本.

static double NormalFunction()
{
    double a = 0;
    for (int j = 0; j < s_OuterLoopCount; ++j)
    {
        for (int i = 0; i < s_InnerLoopCount; ++i)
        {
            double b = i * 2;
            a = a + b + 1;
        }
    }
    return a;
}
Run Code Online (Sandbox Code Playgroud)

这是我制作的版本将功能分解为小功能.

static double TinyFunctions()
{
    double a = 0;
    for (int i = 0; i < s_OuterLoopCount; i++)
    {
        a = Loop(a);
    }
    return a;
}
static double Loop(double a)
{
    for …
Run Code Online (Sandbox Code Playgroud)

c# performance jit compilation roslyn

10
推荐指数
1
解决办法
797
查看次数

标签 统计

c# ×1

compilation ×1

jit ×1

performance ×1

roslyn ×1