Что такое size class?

Senior
168 просмотров
AFK Offer AI

Size class — фиксированный размер слота для аллокации. Go имеет ~67 size class-ов: 8, 16, 24, 32, 48, 64... до 32768 байт. Когда ты аллоцируешь 20-байтовый объект, он попадает в size class 24 (ближайший сверху). Да, 4 байта теряются — это internal fragmentation, зато аллокатор проще и быстрее. Каждый mspan обслуживает один size class. Объекты >32КБ — large objects, они аллоцируются отдельно напрямую из mheap без size class-ов.

Следующий вопрос

Как реализовать job queue через PostgreSQL?