Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: dash vs bash  (Прочитано 1710 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
dash vs bash
« : 01 Июля 2014, 20:34:47 »
тест скорость скрипт

bash
L~#
L~# cat ./test.dash
#!/bin/bash
a=$(seq 1 1000)
for i in $a
do
echo "$a" >/tmp/test.d
done
L~#
L~# time ./test.dash

real 0m3.159s
user 0m1.068s
sys 0m2.064s
L~#

dash
L~#
L~# cat ./test.dash
#!/bin/dash
a=$(seq 1 1000)
for i in $a
do
echo "$a" >/tmp/test.d
done
L~#
L~# time ./test.dash

real 0m0.365s
user 0m0.100s
sys 0m0.220s
L~#
L~#

победа dash.
хз )))
Wars ~.o

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dash vs bash
« Ответ #1 : 01 Июля 2014, 21:54:08 »
bash более функционален и соответственно более медленный, т.к. приходиться анализировать больше синтаксических конструкций.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: dash vs bash
« Ответ #2 : 01 Июля 2014, 23:47:55 »
Просто bash надо уметь готовить!~$ cat 1.txt
#!/bin/dash
i=$(seq 1 1000)
for a in $i
do
echo "$a" > 2.txt
done
~$ time ./1.txt

real 0m0.304s
user 0m0.000s
sys 0m0.104s
но~$ cat 1.txt
#!/bin/bash
for a in {1..1000}
do
echo "$a" > 2.txt
done
~$ time ./1.txt

real 0m0.324s
user 0m0.028s
sys 0m0.096s
То что может bash не может dash
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: dash vs bash
« Ответ #3 : 02 Июля 2014, 00:00:34 »
Хм..)))

Пользователь решил продолжить мысль 02 Июля 2014, 00:09:36:
должно
echo {1..1000} > 2.txt
« Последнее редактирование: 02 Июля 2014, 00:09:36 от victor00000 »
Wars ~.o

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dash vs bash
« Ответ #4 : 02 Июля 2014, 01:21:09 »
Лучше решать математические задачи для сравнения производительности.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: dash vs bash
« Ответ #5 : 02 Июля 2014, 07:47:55 »
Скорость - это хорошо, но думаю создатели этих шелов думали в 1-ю очередь не об этом. Я не шибко продвинут в этих делах, но ещё ни разу не было задачи, где возникала проблема со скоростью отработки именно скрипта.

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: dash vs bash
« Ответ #6 : 02 Июля 2014, 14:21:35 »
Если скорость скрипта не устраивает, то нужно писать программу на C/C++/Java.

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: dash vs bash
« Ответ #7 : 02 Июля 2014, 14:40:09 »
hon,
отдельно форум есть.
Wars ~.o

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: dash vs bash
« Ответ #8 : 02 Июля 2014, 17:50:29 »
должно
echo {1..1000} > 2.txt
Тогда так ~$ cat 1.txt
#!/bin/bash
i=$(echo {1..1000})
for a in $i
do
echo "$i" > 2.txt
done
~$ time ./1.txt

real 0m0.367s
user 0m0.188s
sys 0m0.140s


~$ cat 1.txt
#!/bin/dash
i=$(seq 1 1000)
for a in $i
do
echo "$i" > 2.txt
done
~$ time ./1.txt

real 0m0.379s
user 0m0.072s
sys 0m0.068s
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн victor00000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: dash vs bash
« Ответ #9 : 02 Июля 2014, 19:22:04 »
Azure,
повтор ненадо.
Wars ~.o

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.