понедельник, 18 января 2010 г.

Измерим шеллы в попугаях

Иногда возникает вопрос, какой шелл быстрее. Измеряем скорость запуска на уже не раз упоминавшемся CoreQuad 2.66GHz:


$ time echo " "|dash

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

$ time echo " "|bash

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

$ time echo " "|perl

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

$ time echo " "|zsh

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

$ time echo " "|tclsh8.4

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

$ time echo " "|tclsh8.5

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

$ time echo " "|tclsh8.6

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


Как видим, весьма мудро в дебиане решили выкинуть bash в пользу dash. Правда, дефолтовый /bin/sh указывает в ленни на /bin/bash, так что нелишним будет в скриптах явно писать /bin/dash. Это полезно как с точки зрения быстродействия, так и потому, что в дальнейшем не придется разбираться, нет ли где в коде "башизмов". zsh приятно удивил, хотя именно для скриптов его редко используют, а для интерактивной работы разница скорости запуска в единицы миллисекунд, как правило, несущественна.

Касаемо тикля - имеет смысл уже сейчас переходить на 8.6 в "мелких" скриптах, т.к. скорость запуска идентична таковой для версии 8.5, а к релизу, если повезет, может еще улучшиться. Версия 8.4 для новых приложений интереса уже не представляет.

Комментариев нет:


(C) Alexey Pechnikov aka MBG, mobigroup.ru