Bezużyteczne użycie kota?
Jest to prawdopodobnie w wielu często zadawanych pytaniach - zamiast używania:
cat file | command
(co nazywa się bezużytecznym użyciem kota), prawidłowym sposobem powinno być:
command < file
W drugim, „poprawnym” sposobie - system operacyjny nie musi wywoływać dodatkowego procesu.
Mimo tego wiedziałem, że nadal używam bezużytecznego kota z dwóch powodów.
bardziej estetyczny - lubię, gdy dane poruszają się równomiernie tylko od lewej do prawej. I łatwiej jest wymienićcat
z czymś innym (gzcat
, echo
, ...), dodaj drugi plik lub wstaw nowy filtr (pv
, mbuffer
, grep
...).
„Czułam”, że w niektórych przypadkach może być szybciej. Szybciej, ponieważ istnieją 2 procesy, pierwszy (cat
) wykonuje odczyt, a drugi robi cokolwiek. Mogą działać równolegle, co oznacza czasami szybsze wykonanie.
Czy moja logika jest poprawna (z drugiego powodu)?