Theory and practice of NET benchmarking 1 - DotNetRu/BrandBook GitHub Wiki

Андрей Акиньшин «Теория и практика .NET-бенчмаркинга (часть 1 из 2)»

Изо дня в день многие .NET-разработчики сталкиваются с проблемами производительности в своих проектах. Для их решения необходимо уметь корректно замерять время, чтобы иметь возможность сравнить эффективность разных подходов. Если речь идёт о минутах или часах, то такие замеры можно выполнять "на глаз". Если речь идёт о секундах, то с задачей хорошо справится ваш любимый профайлер. Но если речь идёт о миллисекундах, микросекундах или даже наносекундах, то у вас могут возникнуть проблемы. Замеры коротких промежутков времени - очень сложная задача, многие программисты не умеют решать её корректно. Доклад будет состоять из двух частей. В первой мы поговорим про теорию бенчмаркинга. Как это делать правильно, на что нужно обращать внимание и как не обмануть себя при анализе результатов. Во второй части посмотрим на практические примеры, в которых истинное положение дел с производительностью совсем не очевидно до проведения замеров. Разбор подобных ситуаций помогает понять сколько граблей раскидано повсюду для начинающих любителей побенчмаркать и почему сложно делать микрозамеры времени на современном железе.


Доклад представил Андрей Акиньшин в рамках Встречи MskDotNet №6.

См. также

Слайды

Слайды