Почему вызов read (2) в Linux тратит на несколько миллисекунд больше, чем тратится на дисковый ввод-вывод? - PullRequest
1 голос
/ 22 марта 2012

Я тестировал производительность синхронного чтения на Linux-коробке с диском SATA.Я рассчитывал каждый вызов чтения с помощью gettimeofday(2) и запускал iostat -x, чтобы увидеть статистику диска во время работы программы.Время ввода-вывода диска, показанное iostat в столбце ожидания, составляло в среднем около 8 мсек, но время чтения, данное программой, составляло в среднем около 12 мсек.Где можно потратить эти 4 мсек?

1 Ответ

0 голосов
/ 22 марта 2012

Копирование памяти, переключение контекста и запуск других процессов.

Другие процессы могут быть запланированы и запущены до начала чтения или после его завершения, что продлит время, которое ваш процесс увидит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...