Оптимизация C# кода! BenchmarkDotNet, низкоуровневые диагностики

Просмотров: 4, 372   |   Загружено: 4 год.
icon
Dev Jungles - Andrii Podkolzin
icon
259
icon
Скачать
iconПодробнее о видео
#DevJungles #dotnet #ityoutubers

Telegram канал Dev Jungles -
Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund


Номер карты банки:
5375 4112 0230 1466

- Или криптой:
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216

USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T

LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2

DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd

Так сложилось в нашем разрабском сообществе, что задачи по оптимизации принято считать крутыми и интересными. Друзья и враги мне завидовали, вот мол тебе так повезло, что у меня есть задачи, где можно что-то оптимизировать, пописать бенчмарки или заюзать новенький блестящий, только купленный профилировщик. Только вот работы и проекты менялись и до сего момента в каждой фирме и в на каждом проекте мне приходилось иногда пользоваться этими инструментами.
Может дело не в наличии задач, а в том факте, что сложно использовать какой-то инструмент, если не знаешь о его существовании. Или даже просто никогда им не пользовался.

В этой стриме вспомню несколько житейских примеров оптимизаций, которые юзал в реальных проектах и которые позволяют какому-нибудь продашну крутится чуть быстрее. Буду живьем все писать и запускать. Потому, присоединяйтесь!

Таймкоды:
0:00:00 - Начало
0:03:05 - Что такое Benchmark и для чего он нужен
0:04:13 - Подводные камни самописных Benchmark-ов
0:12:18 - Что такое BI/Multimodality
0:15:00 - Спасительная библиотека .Net
0:16:30 - Пример из жизни почему результаты медианы не показательны
0:18:54 - Продолжение о BenchmarkDotNet
0:21:40 - Настройка окружение и подключение пакетов Nuget
0:23:44 - Первый пример. Thread.Sleep vs Task.Delay
0:29:57 - Получение и интерпретация результата Benchmarka
0:37:00 - Второй пример. Thread.Start vs Thread.Pool vs Task.Run
0:48:06 - Деплой теста на web-server и его запуск
0:55:55 - Получение и интерпретация результатов
1:00:56 - История с собеса на Senior и аморальный вопрос
1:02:45 - Третий пример. Benckmark аморального вопроса
1:08:20 - Получение и интерпретация результатов
1:10:06 - Атрибут MemoryDiagnoser и другие Diagnosers
1:14:35 - Байки про StringBuilder :)
1:17:52 - List от ссылочного типа и от значимого типа, и ответ в чём разница
1:25:00 - Четвертый пример. List`class` vs List`struct`
1:29:16 - Получение и интерпретация результатов
1:34:16 - Задача на самостоятельную работу
1:36:38 - Ещё одна задачка
1:38:38 - Ответ на неё
1:42:18 - Заключение

Похожие видео

Добавлено: 55 год.
Добавил:
  © 2019-2021
  Оптимизация C# кода! BenchmarkDotNet, низкоуровневые диагностики - RusLar.Me