Делаем zero-allocation код на примере оптимизации крупной библиотеки

#internals

Иногда возникают ситуации, когда код написан хорошо и стабильно. И кода этого очень много: переписывать будет крайне тяжело. Еще в этом коде есть проблема: он выделяет очень много памяти. Память выделяется и освобождается ввиду возросшей нагрузки и как результат — GC молотит на полную катушку.

На примере библиотеки SMBLibrary мы попробуем свести выделения памяти к минимуму, используя ряд выработанных техник, и увидим, насколько тяжелыми могут быть самые простейшие операции.

Hardcore

ru

О докладе

Спикер

Станислав Сидристый

Станислав Сидристый

ЦРТ

Станислав работал во многих крупных компаниях, набирая опыт разработки на платформе .NET. Спикер многих конференций, в том числе .NEXT, SpbDotNet, автор и основной спикер семинаров CLRium. Интересы Станислава долгое время лежали в области алгоритмов управления памятью и техник манимулирования рантаймом CLR из unsafe кода. Но в последнее время вектор изменен на более практичную часть разработки: многопоточность, блокирующие и неблокирующие алгоритмы. Является автором онлайн-книги .NET Platform Architecture, получившей широкое распространение благодаря хорошему переводу на английский и китайский языки. Книга настолько легко читается, что понемногу начала выходить её аудиоверсия.

Подробнее

Приглашённый эксперт

Елизавета Голенок

Елизавета Голенок

МТС

Елизавета — ведущий разработчик в компании «МТС Информационные Технологии». Имеет опыт разработки и проектирования систем как на С/С++, так и на C# ASP.NET, Mono (от навигационных систем до enterprise-решений). Область интересов — планирование маршрутов и многоагентные системы, компиляция, LLVM, Clang, низкоуровневая отладка приложений.

Подробнее

Похожие доклады