Примеры Linux aio (не posix)?


Есть ли у кого-нибудь опыт работы с функциями Linux aio (io_*, а не posix aio)? Было бы здорово, если бы кто-то мог предоставить ссылку на некоторые примеры (или привести некоторые примеры здесь). Кроме того, каковы ваши общие замечания/комментарии по поводу их использования?

Я работаю над библиотекой ввода-вывода, и кто-то предложил мне взглянуть на них. Они, как известно, работают лучше, чем POSIX aio в некоторых случаях, и я хотел бы взглянуть.

Спасибо.

1 5

1 ответ:

Обновление: это показывает пример для собственного интерфейса ввода-вывода linux

(это пример на интерфейсе posix aio).

Что касается некоторых комментариев по этому вопросу: библиотека aio позволяет программе выдавать несколько параллельных запросов таким образом, чтобы ядро могло выполнять их в порядке, который наиболее эффективен для поиска и вращения диска, т. е. запрос io может быть выполнен не в том порядке, в котором они были выданы, что отличается от других запросов. выполнение синхронного запроса в потоке. В очень интенсивных приложениях ввода-вывода это может резко увеличить производительность ввода-вывода, но для большинства приложений это просто добавит сложности.