LINUX.ORG.RU

Ksh, вроде, самый быстрый среди shell'ов, а ? :)


0

2

Обгоняет по скорости все shell'ы, которые я протестировал. Самый медленный bash. Хваленый zsh чуть-чуть быстрее bash. Bourne shell и dash тоже показывают неплохие результаты.



Последнее исправление: PymOxim (всего исправлений: 2)

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

> У меня busybox выдал результаты в 2 с небольшим раза быстрее zsh и в 4 быстрее bash

а что удивительного? на /bin/bash небось не стоит sticky bit, а значит, при запуске 10000 процессов 10000 раз запускается бинарник, загружается, отображается в таблицу процессов и т.п. В лучшем случае ядро не выгрузит страницы процесса сразу после выхода из шелла, но как-то самортизирует между запусками, но загрузка/отображение будут в любом случае выполняться. В случае busybox у тебя в памяти сидит один процесс, и команды из состава coreutils или шелл — это симлинки с другими именами на этот процесс, а если ещё стики бит на этот файл стоит, то отдельные новые процессы запускаться не будут, будут повторно использоваться страницы этого же самого процесса, только с разными точками входа.
// К.О.

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

то есть ты что меряешь, скорость вывода текстовой строки и буферизованного вывода или скорость запуска процесса с шеллом?

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

> for i in {1..10000}; echo -n «*ice»

for i in {1..10000}; echo -n '*ice'

будет быстрее, потому что не нужно интерполировать строки //К.О.

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

printf тут не нужен. Хватит и puts или даже сисколла write.

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

>А awk из 9base работает быстрее perl'а.

ну раз речь зашла о 9base, реквестирую сравнения с rc shell из Plan9

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

> на /bin/bash небось не стоит sticky bit

все есть.

при запуске 10000 процессов 10000 раз запускается бинарник, загружается, отображается в таблицу процессов


Ничего никуда не грузится.

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

> будет быстрее, потому что не нужно интерполировать строки //К.О.
Ничего оно не быстрее.

то есть ты что меряешь, скорость вывода текстовой строки и буферизованного вывода или скорость запуска процесса с шеллом?

Ты специалист. Скажи, как лучше определить скорость выполнения алгоритма?

PymOxim
() автор топика

bash
real   0m0.122s
user   0m0.061s
sys   0m0.028s
ksh
real   0m0,03s
user   0m0,01s
sys   0m0,00s
но такое кхм...ладно

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

> а нафига в шелле вообще нужны тригонометрические функции? сowsay синусоидой выводить?
А почему не должно быть? Shell пойдет для расчетов.

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

> какого алгоритма?
Если и не алгоритма, то просто цикла. Который я приводил раньше.

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

ash и urxvt в тестах были?

urxvt это эмулятор терминала, если не ошибаюсь. а тестируются командные интерпретаторы.
ash:

Description: compatibility package for dash
 This package allows upgrading ash to its replacement, dash. It includes the /bin/ash symlink. It
 can be removed as soon as /bin/ash is no longer used

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

>А почему не должно быть? Shell пойдет для расчетов.
Для расчётов удобнее что-нибудь с вменяемым синтаксисом. guile, например.

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

> что-нибудь с вменяемым синтаксисом
Вменяемый синтаксис - это тот, который понимаешь и умеешь записать любую фразу на данном языке.

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

>Вменяемый синтаксис - это тот, который понимаешь и умеешь записать любую фразу на данном языке.
Я понимаю синтаксис брейнфака и при большом желании могу на нём писать.

x3al ★★★★★
()
Ответ на: комментарий от Such-a-good-flashplugin

>Пишешь на эзотерических языках?
Нет, зачем мне это? У эзотерических языков слишком специфичная ниша.

x3al ★★★★★
()
Ответ на: комментарий от Such-a-good-flashplugin

>Какой у тебя шелл, кстати?
zsh.

при большом желании могу на нём писать.

Это к >Вменяемый синтаксис - это тот, который понимаешь и умеешь записать любую фразу на данном языке.

x3al ★★★★★
()
Ответ на: комментарий от Such-a-good-flashplugin

>Как идея? Только честно :)
Не знаю, как этим пользоваться. Тупо юзаю квикмарки.
Жирнолис запускается при старте сессии.

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

Все-таки решил оставить для терминала Bash. Так он удобнее, чем корн. Гибче в настройке и информации можно найти больше. А выполнение скриптов передавать dash/ash он все-таки быстрее. Особенно при работе вложенных циклов.

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