.NET Свойства против полей. Что быстрее?

Третьего дня писал очень ресурсоёмкий алгоритм. Он был узким местом во время работы приложения, и, соответственно, его скорость работы серьезным образом отражалась на производительности всего приложения. Запустив профайлер заметил, что основная нагрузка приходилась на получение значений из свойств. Не долго думая, я заменил автоматические свойства полями. Профайлер показал значительный прирост производительности. На этом я и успокоился.

Однако этот факт не давал мне покоя — как же так, я везде и всегда старался следовать правилам написания кода, а тут оказывается что этим самым рубил его производительность? Я решил написать небольшой тест для оценки скорости работы свойств и полей. Вот что у меня получилось.
Читать далее «.NET Свойства против полей. Что быстрее?»