Типичные файловые системы и интерфейс POSIX позволяют изменять размер файла в конце. Обычно размер файла "на диске" после его закрытия равен смещению позиции чтения/записи, когда он был закрыт. Поиск перед закрытием также известен как "перестановка конца файла".
Файл, содержащий очередь данных, будет более эффективно представлен операцией по удалению начала файла. Блоки выделения на диске в начале могут быть освобождены, и ненужное копирование будет сведено к минимуму.
Является ли это прямой поддержкой любого распространенного формата файловой системы и/или операционной системы? Какой интерфейс используется для этого? (Например, селектор Linux fcntl
.) Я почти уверен, что слышал об этом на практике.