Мой сценарий Bash невероятно медленный при подстановке команд или конвейерной передаче, я что-то упускаю?
(Раньше я знал, что скорость Bash аналогична скорости Python или других интерпретируемых языков или даже быть быстрее их, за исключением вызовов внешних приложений)
### My code
function a { true; }
echo -en '\n>>> a'
time for i in {0..100}; do a; done
echo -en '\n>>> echo'
time for i in {0..100}; do echo >/dev/null; done
echo -en '\n>>> (condition, variable assignment, arithmetic)'
time for i in {0..100}; do
if [ 1 -eq 1 ]; then
something=a
((test++))
fi
done
echo -en '\n>>> $(echo)'
time for i in {0..100}; do $(echo) >/dev/null; done
echo -en '\n>>> $(a)'
time for i in {0..100}; do $(a); done
echo -en '\n>>> `a`'
time for i in {0..100}; do `a`; done
echo -en '\n>>> echo | a'
time for i in {0..100}; do echo | a; done
echo -en '\n>>> a | echo'
time for i in {0..100}; do a | echo >/dev/null; done
### Acceptable operations
# a
0.001s
# echo
0.002s
# (condition, variable assignment, arithmetic)
0.001s
### Slow operations
# $(echo)
0.316s
# $(a)
0.315s
# `a`
0.315s
# echo | a
0.521s
# a | echo
0.518s
Подробнее здесь: https://stackoverflow.com/questions/791 ... -or-piping
Bash невероятно медленный при замене команд или конвейерной обработке. ⇐ Linux
1730106879
Anonymous
Мой сценарий Bash невероятно медленный при подстановке команд или конвейерной передаче, я что-то упускаю?
(Раньше я знал, что скорость Bash аналогична скорости Python или других интерпретируемых языков или даже быть быстрее их, за исключением вызовов внешних приложений)
### My code
function a { true; }
echo -en '\n>>> a'
time for i in {0..100}; do a; done
echo -en '\n>>> echo'
time for i in {0..100}; do echo >/dev/null; done
echo -en '\n>>> (condition, variable assignment, arithmetic)'
time for i in {0..100}; do
if [ 1 -eq 1 ]; then
something=a
((test++))
fi
done
echo -en '\n>>> $(echo)'
time for i in {0..100}; do $(echo) >/dev/null; done
echo -en '\n>>> $(a)'
time for i in {0..100}; do $(a); done
echo -en '\n>>> `a`'
time for i in {0..100}; do `a`; done
echo -en '\n>>> echo | a'
time for i in {0..100}; do echo | a; done
echo -en '\n>>> a | echo'
time for i in {0..100}; do a | echo >/dev/null; done
### Acceptable operations
# a
0.001s
# echo
0.002s
# (condition, variable assignment, arithmetic)
0.001s
### Slow operations
# $(echo)
0.316s
# $(a)
0.315s
# `a`
0.315s
# echo | a
0.521s
# a | echo
0.518s
Подробнее здесь: [url]https://stackoverflow.com/questions/79132706/bash-is-incredibly-slow-when-doing-command-substitution-or-piping[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия