Еще раз к вопросу об as
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.06.04 12:48
Оценка: 95 (9) +2
Господа втыкающие as везде где не нужно продолжают упорствовать, посему маленький тестик:
using System;
using Utils;

class Test
{
    static void Main()
    {
        object x = "test";
        string s;
        const int iterCount = 1000000000;
        PerfCounter pc = new PerfCounter();

        pc.Start();
        for (int i = 0; i < iterCount; i++)
            s = (string)x;
        Console.WriteLine("() : {0}", pc.Finish());

        pc.Start();
        for (int i = 0; i < iterCount; i++)
            s = x as string;
        Console.WriteLine("as : {0}", pc.Finish());        
    }
}


Запускаем под 1.1
() : 8,71364
as : 7,532845

Итого имеем разницу чуть больше 1 секунды на миллиард(!) итераций на дохленьком 1.8 целероне. Следовательно очень малое чисо реальных алгоритмов получат хоть сколько нибудь ощутимый прирост производительности. Ну да ладно, дальше будет еще интереснее.
На этот раз возьмем майский 2.0 и запустим тот же тест.
() : 4,796628
as : 7,217548


Гы гы, это называется приплылы .

Мораль сей басни такова — никогда не занимайтесь оптимизацией без крайней на то необходимости.
... << RSDN@Home 1.1.4 beta 2 >>

29.06.04 23:18: Перенесено из '.NET'
10.08.04 18:42: Перенесено модератором из 'Философия программирования' — AndrewVK
11.08.04 11:04: Перенесено из '.NET'
21.05.05 17:33: Перенесено модератором из 'Философия программирования' — AndrewVK
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.