#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 - Первый пример. vs 0:29:57 - Получение и интерпретация результата Benchmarka 0:37:00 - Второй пример. vs vs 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 - Заключение









