Intereting Posts
временно отключить логин с помощью одного конкретного ключа ssh Как удалить все файлы, кроме имени файла (без расширения) из полного пути к файлу? Запуск sh-файла работает только в том случае, если каталог cd'd для скриптов выяснить удаленные IP-адреса всех компьютеров? Монтирование USB-накопителя – невозможно удалить файлы, если у вас нет прав доступа Ошибка «Ошибка устройства или ресурса» при попытке записи звука с использованием iscord Как заставить nfs-kernel-server.service инициализировать, когда единственным экспортом NFS являются ZFS? Как клонировать раздел NTFS (WinXP) с поврежденного диска на новый? Управление средой, переданной дочернему процессу bash Как получить принтер HP Officejet Pro 6830 для работы с Ubuntu? Правила владения файлами, когда пользователь покидает компанию Linux – почему для двоичных файлов su и sudo необходимо установить root-UID? Могу ли я изменить способ отображения параметров выбора? Почему пользователи могут удалять файлы друг друга в этом случае `set -e` и` grep` idiom для предотвращения преждевременного выхода из сценария оболочки, когда шаблон не найден

В чем разница (если есть) между «входом кота | тройник> выход »и« тройник выход »?

Я получил следующее:

$ time $(tee  outfile) real 0m14.721s user 0m0.094s sys 0m2.629s $ time $(cat infile | tee > outfile) real 0m8.931s user 0m0.123s sys 0m3.168 

Это различие только из-за перенаправления / трубопровода, или здесь что-то еще происходит? Запуск их во второй раз дал следующее:

 $ time $(tee  outfile) real 0m11.558 user 0m0.113s sys 0m2.691s $ time $(cat infile | tee > outfile) real 0m8.822s user 0m0.120s sys 0m3.125s 

PS: и infile, и outfile были mp4-файлами, кэшированными в ram; если это имеет какое-то значение.

Изменить: я имел в виду tee outfile а не tee outfile .

Примеры не такие, как в заголовке.

По вопросу в заголовке.

Версия с кошкой будет немного медленнее.

По вопросу в теле

Первая команда, пишет два файла. Вот почему это медленнее. Второй – запуск дополнительного процесса ( cat ), но это небольшое замедление по сравнению с записью дополнительного файла.

Второй запуск быстрее, вероятно, потому что чтение кэшируется.

Explenation

tee < infile tee > outfile функционально эквивалентен, но быстрее, чем cat infile | tee tee > outfile cat infile | tee tee > outfile , где как tee > outfile нет. Первые два дают два файла, третий – один, поэтому будет быстрее.