Расстояние команды от хижины?

Другие находят альтернативу:

find -maxdepth 1 -type f -printf "%i %p\n"

Или еще один:

find -maxdepth 1 -type f -ls
4
13.11.2014, 03:47
2 ответа

Чтобы узнать, я создал два файла оболочки. Каждый запускается с линией Shebang и заканчивается с помощью Sole Command Дата . Long.sh имеет 10 000 строк комментариев, пока Cort.sh имеет ничего. Вот результаты:

$ time short.sh 
Wed Nov 12 18:06:02 PST 2014

real    0m0.007s
user    0m0.000s
sys     0m0.004s

$ time long.sh
Wed Nov 12 18:06:05 PST 2014

real    0m0.013s
user    0m0.004s
sys     0m0.004s

разница ненульна, но недостаточно для вас, чтобы заметить.

Давайте получим больше экстремальных. Я создал Very_long.sh с 1 млн. Строки комментариев:

$ time very_long.sh
Wed Nov 12 18:14:45 PST 2014

real    0m1.019s
user    0m0.928s
sys     0m0.088s

Это имеет заметную задержку.

Заключение

10 000 линий комментариев имеет небольшой эффект. Строки в миллион комментариев вызывают значительную задержку.

Как создать Long.Sh и Very_long.sh

для создания скрипта Long.SH , я использовал следующее awk Команда:

echo "date" | awk 'BEGIN{print "#!/bin/bash"} {for (i=1;i<=10000;i++) print "#",i} 1' >long.sh

Для создания SORE_LONG.SH , мне нужно слегка изменять вышеуказанный код:

echo "date" | awk 'BEGIN{print "#!/bin/bash"} {for (i=1;i<=1000000;i++) print "#",i} 1' >very_long.sh
5
27.01.2020, 20:49

Да, теоретически, Поскольку оболочка должна была бы прочитать все эти пустые строки и убедиться, что они пустые. Но эффект будет настолько маленьким, что у вас будут проблемы с измерением - особенно если вы попробовали это неоднократно (без перезагрузки), потому что, Как только вы запустите скрипт, он будет кэширован в памяти, и у вас даже нет ввода-вывода.

4
27.01.2020, 20:49

Теги

Похожие вопросы