Выигрыш от использования именованных пайпов (named pipes)

В работе, порой приходится организовывать конвейерное взаимодействие различных программ с помощью операторов | и > и прочих.

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

Первый алгоритм работал через запись в файл способами ОС - оператор echo в bash
Второй алгоритм работал аналогично, только запись шла в именованный пайп, а после конвеерной обработки попадал на вход другой программе которая читала из пайпа.

Результаты первого: 1 000 итераций с различными данными, 2 минуты 26 секунд
Результаты второго: 1 000 итераций с теми же данными, 2 минуты 18 секунд.

Запуск делался несколько раз - различия были в 1 секунду.

Прирост по времени составил 8 секунд.
Казалось бы незначительно, но на больших объемах данных это существенный прирост.
Совет: используйте именованные пайпы (named pipes) в linux.

Комментарии

Популярные сообщения из этого блога

Обзор набирающих популярность сайтов с ArtificialCasting.com

Be aware of "free" API when building any kind of your mash-up or start-up.