RedoxFS хранит данные мелких файлов прямо в inode — установка пакетов в 7,5 раза быстрее

26.09.2025

В RedoxFS данные небольших файлов теперь хранятся прямо в inode, а не отдельно. Число операций ввода-вывода, объём кеша файлов и количество переключений контекста упали примерно вдвое, а бенчмарк установки пакетов в образ ускорился в 7,5 раза.

Как устроена файловая система

Inode — служебная запись о файле: тип, права, владелец, размер, время изменения. Сами данные лежат отдельно. Для файла в несколько байт это означает, что на диске или в образе появляются две структуры: запись о файле и отдельный блок с данными, а между ними — ссылка.

Когда файлов много, но они маленькие, накладные расходы начинают преобладать над полезной нагрузкой. Классический пример — установка пакетов: десятки тысяч мелких файлов за раз.

Что изменилось

Данные файлов, помещающихся в запись inode, хранятся в ней самой. Операции ввода-вывода, кеширование и переключения контекста при этом сократились примерно вдвое — по каждому из трёх показателей.

Приём не нов: так поступают SQLite и ZFS, и в этом смысле RedoxOS просто следует практике. Но в системе общего назначения, где одновременно лежат и мелкие конфиги, и большие образы, решение применять сложнее, чем в специализированной.

Что это значит на практике

Замер — добавление пакетов в готовый образ: 7,5 раза быстрее. Это операция, которую выполняет каждый, кто собирает образ Redox, и она же — типичный сценарий в CI.

Отдельная выгода для разработчика: сборочные системы, включая Cargo, работают с огромным числом мелких файлов. Ускорение операций над ними сказывается на времени любой сборки.

Оригинал

Коммиты Support inline data in files, Support sparse data when inline и Prepare inline node data от 26 сентября 2025 года в репозитории redox-os/redoxfs; там же версия 0.8.0. Сводка «This Month in Redox — September 2025», раздел «Massive Small File Performance Improvement On RedoxFS»

Упоминаний: 1 · Просмотров: 2