Александр Иванов - Снижаем нагрузку на Garbage Collector с помощью различных memory pool'ов

  Рет қаралды 187

GoFunc

GoFunc

Күн бұрын

Ближайшая конференция: GoFunc 2024 Autumn - 3 октября (online)
Подробности и билеты - jrg.su/mxTf8R
- -
Скачать презентацию с сайта GoFunc - jrg.su/7lsmM9
Как-то Александр работал над приложением, которое испытывало пиковые нагрузки при получении новых данных и не успевало поставить их в централизованную обработку. Профилирование показало, что дело было не в какой-то медленной time-critical функции, а в том, что в кульминационный момент из-за нехватки памяти запускался Garbage Collector, и на время сервисных работ по очистке памяти приложение замирало. Но если побороть прерывания программы Garbage Collector’ом по расписанию по разным причинам нерационально, а иногда и чревато ошибками Out Of Memory, то противостоять или отодвинуть момент превышения порога занятой памяти вполне возможно, переиспользуя уже выделенную память.
В докладе рассматриваются вопросы:
- как организовать пул предопределенного размера с помощью буферизованного канала и когда это решение не работает;
- особенности использования sync.Pool и когда не следует возвращать данные в пул;
- как запретить GC очищать выделенную память.

Пікірлер
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 56 МЛН
Angry Sigma Dog 🤣🤣 Aayush #momson #memes #funny #comedy
00:16
ASquare Crew
Рет қаралды 51 МЛН
Владислав Сидоров - Protobuf в Go
46:21
writing c in typescript, testing bun:ffi
1:46:44
Seve
Рет қаралды 488
Современная Сода-Отрава! Отличие ГОСТ 2156-76 от ГОСТ 32802-2014! Подмена Продукта Суррогатным Ядом!
20:34
ВЕРХОВНЫЙ БОГ ВСЕЯ ВСЕЛЕННОЙ ЖИВОЙ МУЖЧИНА АБСОЛЮТ
Рет қаралды 4,6 МЛН
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 56 МЛН