RU

sync.Pool теряет то, что вы хотели сохранить, и держит то, что хотели выбросить

sync.Pool легко принять за простой способ снизить аллокации: бенчмарк показывает ускорение, код уезжает в прод — а там пул внеза…

sync.PoolGoGolangсборщик мусораGCуправление памятьюпрофилированиеоптимизация производительностибенчмаркиGOMAXPROCS
Habr
RU

Бенчмаркая foreach и энумераторы: аллокации, которые прятались 10 лет

Уважаемые читатели, в этой статье я хочу рассказать о скрытых аллокациях в обычном foreach и представить свои выводы. Тесты сделаны на .net 8, .net…

benchmarkdotnetforeachboxingаллокацииGCJITescape analysis.NET 10производительностьSortedList
Habr
RU

JDK 27 Compact Object Headers: как сбросить до 30% кучи без кроссфита и жестких диет

Каждый Java-объект в HotSpot начинается со служебного заголовка размером 12 байт. В JDK 27 по умолчанию он сжимается до 8 — это JEP 534, финальный ш…

JavaJVMHotSpotOpenJDKJDK 27JEP 534Compact Object HeadersProject LilliputGCОптимизация памяти