Linux AIO / io_submit / io_getevents / на FIFO (именованные каналы)

Просто используйте цикл вместо простого cat :

for file in /path/to/targetdir/*; do
    echo "-------- $file -------"
    cat "$file" 
done
0
01.06.2018, 08:43
1 ответ

Linux AIO не ограничивается только обычными файлами -, он может использоваться для специальных файлов блочных устройств. Я ожидаю, что запись AIO не может использоваться в каналах из-за того, что каналы не могут выполнять поиск.

IOCB_CMD_PWRITE

pwrite() writes up to count bytes from the buffer starting at buf to the file descriptor fd at offset offset. The file offset is not changed.

The file referenced by fd must be capable of seeking.

Суть AIO заключается в том, чтобы иметь возможность ставить в очередь несколько прямых операций ввода-вывода (или операций чтения )на блочное устройство без использования потоков.

Чтобы повысить производительность массовой передачи по каналу, я бы предложил увеличить размер буфера канала с 4 КБ до не более 64 КБ... за исключением того, что 64 КБ уже является значением по умолчанию в современном Linux.

1
28.01.2020, 02:43

Теги

Похожие вопросы