Бесполезное использование кошки?

Это, вероятно, во многих часто задаваемых вопросах - вместо использования:

cat file | command

(что называется бесполезным использованием кошки), правильный путь должен быть:

command < file

В 2-й, «правильный» путь - ОС не должна создавать дополнительный процесс.
Несмотря на то, что я знал это, я продолжал использовать бесполезную кошку по двум причинам.

  1. более эстетично - мне нравится, когда данные перемещаются равномерно только слева направо. И проще заменить cat чем-то другим (gzcat, echo, ...), добавить 2-й файл или вставить новый фильтр (pv, mbuffer, grep ...).

  2. Я «почувствовал», что в некоторых случаях это может быть быстрее. Быстрее, потому что есть 2 процесса, первый (cat) читает, а второй делает что угодно. И они могут работать параллельно, что иногда означает более быстрое выполнение.

Правильна ли моя логика (по 2-й причине)?

89
задан codeforester 5 August 2018 в 17:11
поделиться