Результат и выводы для тех кто не любит длинный текст
100.000 вызовов, 20 итераций теста, x86 | 100.000 вызовов, 20 итераций теста, x64 | 1.000.000 вызовов, 10 итераций теста, x86 | 1.000.000 вызовов, 10 итераций теста, x64 | |
---|---|---|---|---|
Прямой вызов | Min: 1 ms Max: 1 ms Mean: 1 ms Median: 1 ms Abs: 1 |
Min: 1 ms Max: 1 ms Mean: 1 ms Median: 1 ms Abs: 1 |
Min: 7 ms Max: 8 ms Mean: 7,5 ms Median: 7,5 ms Abs: 1 |
Min: 5 ms Max: 6 ms Mean: 5,2 ms Median: 5 ms Abs: 1 |
Вызов через отражение | Min: 32 ms Max: 36 ms Mean: 32,75 ms Median: 32,5 ms Rel: 32 |
Min: 35 ms Max: 44 ms Mean: 36,5 ms Median: 36 ms Rel: 36 |
Min: 333 ms Max: 399 ms Mean: 345,5 ms Median: 338 ms Rel: 45 |
Min: 362 ms Max: 385 ms Mean: 373,6 ms Median: 376 ms Rel: 75 |
Вызов через делегат | Min: 64 ms Max: 71 ms Mean: 65,05 ms Median: 64,5 ms Rel: 64 |
Min: 72 ms Max: 86 ms Mean: 75,95 ms Median: 75 ms Rel: 75 |
Min: 659 ms Max: 730 ms Mean: 688,8 ms Median: 689,5 ms Rel: 92 |
Min: 746 ms Max: 869 ms Mean: 773,4 ms Median: 765 ms Rel: 153 |
Вызов через делегат с оптимизациями | Min: 16 ms Max: 18 ms Mean: 16,2 ms Median: 16 ms Rel: 16 |
Min: 21 ms Max: 25 ms Mean: 22,15 ms Median: 22 ms Rel: 22 |
Min: 168 ms Max: 187 ms Mean: 172,8 ms Median: 170,5 ms Rel: 22.7 |
Min: 218 ms Max: 245 ms Mean: 228,8 ms Median: 227 ms Rel: 45.4 |
Вызов через dynamic | Min: 11 ms Max: 14 ms Mean: 11,5 ms Median: 11 ms Rel: 11 |
Min: 12 ms Max: 14 ms Mean: 12,5 ms Median: 12 ms Rel: 12 |
Min: 124 ms Max: 147 ms Mean: 132,1 ms Median: 130 ms Rel: 17 |
Min: 127 ms Max: 144 ms Mean: 131,5 ms Median: 129,5 ms Rel: 26 |
Вызов через Expression | Min: 4 ms Max: 4 ms Mean: 4 ms Median: 4 ms Rel: 4 |
Min: 4 ms Max: 5 ms Mean: 4,15 ms Median: 4 ms Rel: 4 |
Min: 46 ms Max: 55 ms Mean: 50 ms Median: 50,5 ms Rel: 6.7 |
Min: 47 ms Max: 51 ms Mean: 47,7 ms Median: 47 ms Rel: 9.4 |
UPD: новый вывод от mayorovp: лучше всего использовать Expression
UPD: и как подсказал CdEmON, такое исследование было опубликовано на хабре ранее