Post Thumbnail

Ребята из Cloudflare рассказывают, как пять последовательных оптимизаций раскладки DNS-кэша Big Pineapple сократили потребление памяти на запись на 56% - с 953 до 420 байт. Освободили около 100 терабайт ОЗУ по всем машинам, а также ускорили кэш.

Они сделали замену Vec/String на Box<[T]>/Box<str>, объединенили три списка секций ответа в один с 2-байтовыми смещениями вместо указателей, отказались от хранения owner-имени записи, когда оно совпадает с запрошенным доменом, упаковали маленькие варианты enum RecordData inline с боксом крупных, и наконец реализовали хранение данных записей в сыром wire-формате единым Box<[u8]>

При масштабе в 250+ миллиардов записей экономия даже одного байта на запись дает гигабайты памяти, и круто что экономию памяти удалось совместить с ростом производительности

Похожее

Post Thumbnail

Пробы в k8s

Помните про Kubernetes на TypeScript с прекрасным названием webernetes? Автор с ...

Post Thumbnail

Raft сломан

Ребята из Antithesis(я хз кто это) протестировали несколько популярных реализаци...