Python Glossary English

Python 3.3+Linuxosфункция

os.posix_fadvise

os — советы ядру

Сообщает ядру о предполагаемом характере доступа к файлу (последовательный/случайный) для оптимизации кеша. Доступно на Linux.

Синтаксис

os.posix_fadvise(...)

Только совет: ядро может его проигнорировать, и на правильность программы он не влияет. POSIX_FADV_SEQUENTIAL ускоряет чтение больших файлов подряд, а POSIX_FADV_DONTNEED позволяет не засорять кэш страниц файлом, который больше не понадобится. Длина 0 означает «до конца файла».

Примеры

import os
with open('report.csv', 'w') as f:
    f.write('a,b\n1,2\n')   # файл для примера — в текущем каталоге
fd = os.open('report.csv', os.O_RDONLY)   # → ? только Unix: небольшой номер дескриптора, например 3
os.posix_fadvise(fd, 0, 0, os.POSIX_FADV_SEQUENTIAL)   # → ? только Unix: подсказка «читать будем подряд»; length=0 означает «до конца файла»
os.posix_fadvise(fd, 0, 65536, os.POSIX_FADV_WILLNEED)   # → ? только Unix: ядро заранее подтянет первые 64 КБ файла в кеш
os.posix_fadvise(fd, 0, 0, os.POSIX_FADV_DONTNEED)   # → ? только Unix: после однопроходного чтения просим освободить кеш под этот файл
os.posix_fadvise(fd, 0, 0, 999)   # → ? только Unix: OSError [Errno 22] Invalid argument — 999 не является кодом совета

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности