Выигрыш от использования именованных пайпов (named pipes)
В работе, порой приходится организовывать конвейерное взаимодействие различных программ с помощью операторов | и > и прочих.
Решил проверить каков прирост производительности, условно говоря на 1 тысяче операций по вызову конвейерной обработки.
Первый алгоритм работал через запись в файл способами ОС - оператор echo в bash
Второй алгоритм работал аналогично, только запись шла в именованный пайп, а после конвеерной обработки попадал на вход другой программе которая читала из пайпа.
Результаты первого: 1 000 итераций с различными данными, 2 минуты 26 секунд
Результаты второго: 1 000 итераций с теми же данными, 2 минуты 18 секунд.
Запуск делался несколько раз - различия были в 1 секунду.
Прирост по времени составил 8 секунд.
Казалось бы незначительно, но на больших объемах данных это существенный прирост.
Совет: используйте именованные пайпы (named pipes) в linux.
Комментарии