LINUX.ORG.RU

Как ты интересно тестировал? По каким параметрам? У меня zsh секунды 3 запускается.

Chubakur ★★ ()

для каких целей? спорим сишечку и плюсы не обгонит по скорости и потреблению памяти :3

anonymous ()
Ответ на: комментарий от anonymous

> спорим сишечку и плюсы не обгонит по скорости и потреблению памяти
Мы говорим о shell'ах. Из интерпретируемых язык в порядке убывания perl, ruby, python. Кстати скомпилировал на С++ - perl оказался быстрее.

PymOxim ()
real	0m0.08s

Это на моей машине, конечно. Но быстрее чем остальные. Я не поклонник перла, но оказался быстрее всех.

PymOxim ()

Оставил Korn Shell. Да и работа с тригонометрическими функциями удобнее, чем на Bash, там вообще костыль какой-то.
echo $((sin(90)))

PymOxim ()

nasm быстрее, инфа 100%.

anonymous ()

Ну я в шелле не вычислениями для NASA занимаюсь, поэтому мне секунда на тысячу операций погоды не делает. В zsh мне нравится умный автокомплит, два промпта и много-много рецептов на разные случаи жизни.

Hoodoo ★★★★★ ()

В lua и csh не смог цикл записать, так как, незнаком с синтаксисом. Можно, кстати, на ассемблере. И заодно на других языках. Кто подкинет код?

PymOxim ()
Ответ на: комментарий от Hoodoo

> В zsh мне нравится умный автокомплит
Мне, кстати, подобные плюшки абсолютно безразличны. Скорость важнее. Поэтому на корн и перешел.
Зы. Привет Тартан. Как там Pipe и компания?

PymOxim ()
Ответ на: комментарий от PymOxim

Да какая разница, асм компилится быстрее, чем твой шелл интерпретирует :3

anonymous ()
Ответ на: комментарий от anonymous

Ассемблер ассемблером, а среди shell'ов korn быстрее. От перла вообще не ожидал.

PymOxim ()

Может, bash пытается запустить что-то из INVOCATION перед скриптом?

x3al ★★★★★ ()
Ответ на: комментарий от PymOxim

покажи код для перла и плюсов, и параметры компилции

anonymous ()
Ответ на: комментарий от PymOxim

в-ва

Асм:

; yasm -felf64 -o 1.o 1.asm && ld -lc -I/lib64/ld-linux-x86-64.so.2 -o 1.elf 1.o

extern	puts
extern	exit
global	_start

section .data
msg		db 'Hello fuckin world!', 0

section .text

_start:
mov		rbx, 10000
_loop:
mov		rdi, msg
call		puts
dec		rbx
jnz		_loop

xor		rdi, rdi
call		exit

Баш:

sh -c 'for i in {1..10000}; do echo Hello fuckin world\!; done'

Результат (немного предсказуем):

$ time nice --20 ./1.elf >/dev/null 

real	0m0.003s
user	0m0.000s
sys	0m0.000s

$ time nice --20 ./1.elf >/dev/null 

real	0m0.003s
user	0m0.000s
sys	0m0.000s

$ time nice --20 sh -c 'for i in {1..10000}; do echo Hello fuckin world\!; done' >/dev/null 

real	0m0.154s
user	0m0.140s
sys	0m0.000s
$ time nice --20 sh -c 'for i in {1..10000}; do echo Hello fuckin world\!; done' >/dev/null 

real	0m0.154s
user	0m0.130s
sys	0m0.000s

anonymous ()
Ответ на: комментарий от anonymous

> покажи код для перла
Я уже удалил файл. Это была первая моя строка на перле. Скопировал первый же for цикл, чуть-чуть поменял в рамках задачи.

PymOxim ()

Ура!!!!Холивар!!!Мяяясо!!!

>time ksh t.sh
0,08s user 0,03s system 52% cpu 0,207 total

>time zsh t.sh
0,07s user 0,04s system 67% cpu 0,166 total

переписываем в современном виде

%>cat t.sh
for i in {1..10000}; echo -n "*ice"

>time zsh t.sh
0,04s user 0,03s system 78% cpu 0,091 total

zolden ★★★★★ ()
Ответ на: Ура!!!!Холивар!!!Мяяясо!!! от zolden

Это у тебя такие цифры. У меня какие были такие и остались. 0m0.17s
Даже в современной записи. В два раза медленнее чем Корн.

PymOxim ()
Ответ на: Ура!!!!Холивар!!!Мяяясо!!! от zolden
>time ksh t.sh
0,08s user 0,03s system 52% cpu 0,207 total

>time zsh t.sh
0,07s user 0,04s system 67% cpu 0,166 total

Подтасовка результатов? Язабан.

PymOxim ()
Ответ на: комментарий от PymOxim

я могу заниматься этим весь день...

>cat ./t.sh
for i ({1..10000}) echo -n "*ice"
>time zsh t.sh
0,06s user 0,02s system 79% cpu 0,095 total
zolden ★★★★★ ()
Ответ на: комментарий от PymOxim

Скрипты на zsh проще, красивее и как теперь оказалось - быстрее.
Ну разве не прелесть?
Моя аватарка смотрит на твои жалкие попытки с сочувствием

zolden ★★★★★ ()
Ответ на: комментарий от PymOxim

nice -n -20 your_command поставит максимальный приоритет

zolden ★★★★★ ()

У меня busybox выдал результаты в 2 с небольшим раза быстрее zsh и в 4 быстрее bash (0.03 vs 0.07 vs 0.11)

devl547 ★★★★★ ()
Ответ на: комментарий от devl547

«оптимизированный» вариант для zsh выдал 0.05, все равно сливая busybox'у

devl547 ★★★★★ ()
Ответ на: комментарий от zolden

> nice -n -20
Цифры не изменились. Видишь твой зсх жрет больше системных ресурсов 79%, а работает медленнее. А корн наоборот. Я победил.

PymOxim ()
Ответ на: комментарий от devl547

давай сравним «precompiled» zsh скрипт. Не помню сходу как это делается, но гугл мне поможет

zolden ★★★★★ ()
Ответ на: комментарий от PymOxim

По директориям удобно бегать, я иногда даже рейнджер не включаю.

// С оттудова я самозабанился, там такого понаразвелось, ужас. Будет что написать - перерегистрируюсь и попрошу ключи от вики, в неё я пока верю. А как вычислили?

Hoodoo ★★★★★ ()
Ответ на: комментарий от zolden

> давай сравним «precompiled» zsh скрипт. Не помню сходу как это делается, но гугл мне поможет
В режиме интерпретации же.

PymOxim ()

У меня такие результаты на цикле из 10000 echo:

dash: 0.046
busybox: 0.063
zsh: 0.138
bash: 0.206

anarquista ★★★★★ ()
Ответ на: комментарий от anarquista

Dash и Bourne shell у меня только на пару сотых долей секунд медленнее чем корн. А так они тоже довольно быстры.

PymOxim ()
Ответ на: комментарий от anarquista

> time busybox sh test.sh > /dev/null
Надо с выхлопом echo «*ice». dev/null не пойдет. У меня 0m0.13 - чуть лучше zsh.

PymOxim ()
Ответ на: комментарий от anarquista

bash 0m0.35 - вот слоупочина. Никогда больше на нем писать не буду.

PymOxim ()

Должно быть вот так:

*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice*ice
Чтобы честно. Каждый символ играет роль.

PymOxim ()

А теперь испытай на реальных скриптах :3

x3al ★★★★★ ()
Ответ на: комментарий от PymOxim

Ааа, ёпт. Признавайся, ты арчесрач генерируешь, или кто-то уже заразился?

Hoodoo ★★★★★ ()
Ответ на: комментарий от x3al

По времени? А если там бесконечный цикл с «input'ом», то есть вводом команд со стороны пользователя.

PymOxim ()
Ответ на: комментарий от Hoodoo

Арчесрач? Нет. Мне до него никакого дела нет. Я генерирую bsd и python срачи.

PymOxim ()
Ответ на: комментарий от PymOxim

>А если там бесконечный цикл с «input'ом», то есть вводом команд со стороны пользователя.
Сделай без. Иначе ты не измеряешь скорость шеллов.
Вспомни тред с java vs gcc. На моей машине, кстати, java в 1.5 раза быстрее clang на том тесте при любых cflags.

x3al ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.