LINUX.ORG.RU
ФорумTalks

js, systemd: что из них хрен, а что — редька?

 ,


0

1

нет, ну правда. Наверняка же не раз обсуждали, что эти две тенденции прямо противоречат друг другу:

1. (systemd) Выкинуть к черту тормозной баш, написать все в виде быстрых бинарников, общающихся по системной шине и запускающихся только когда нужно (а если что не запускается, то ССЗБ: вот, например, у меня федора не стартовала, когда поменялся UUID у свопа)

2. (js) Ну блин, это же удобно (ну и пофиг, что кучу слоев разных либ нужно, пофиг на память — зато какие слова модные!)

Не пойму я логики в этом мире, я не хочу ни «быстрой» параллельной загрузки, ни зашибись какого концептуального подхода к конструированию интерфейсов.

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

Тормоза баша, разумеется

Для начала, то, что ты показал, похоже скорее на C shell. Но это еще не всё - если echo является внешней командой...

$ time ( for((i=0;$i<100000;i++));do echo -n ; done)

real	0m5.717s

...мы видим, что 100000 запусков внешней команды заняло 5 секунд, это дает нам 50мкс на один запуск. Вот цена пары fork+exec. Не помню точно, на что там жаловался поцеринг - на десятки или сотни форков на скрипт. Пусть на сотни (500 на скрипт, скажем), и при загрузке нам нужно пустить 50 скриптов. это дает нам 500*50 == 25000 форков, по 50мкс на форк - 1.25сек. Вот экономия, которой добъется поцеринг на полном устранении форков на твоем говноатоме.

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

это был бы большой шаг вперёд.

Может быть. Но у Питона слишком много хейтеров (у Перла, пожалуй, тоже).

Когда я вспоминаю установочные скрипты слакваря на bash+dialog мне хочется рыдать. Кстати, кто ещё кроме меня пытался их читать?

Я писал подобные скрипты. Могу сказать, что для работы с более-менее сложными структурами данных шелл, конечно, не предназначен.

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

запусков внешней команды

Ну, во первых, это не так. В posix echo нет -n, это баш билтин, бугага.

Но, даже если бы это было и так. Если это не тормоза, то что тогда тормоза? Да, и причем тут поцтеринг? На баше тупо нельзя сделать то, что он там набыдлокодил

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

В posix echo нет -n, это баш билтин, бугага.

Ты обдолбан.

$ /bin/echo -n foo
foo$

Если это не тормоза, то что тогда тормоза?

Тормоза - это ожидание.

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

у Питона слишком много хейтеров

это проблема любой технологии, увы. Кстати, у меня сложилось впечатление что прям лютая ненависть скорее свойственна русским. За бугром народ спокойнее относится к новым языкам. С другой стороны, когда я разрабу ffmpeg сказал что для наших задач лучше подходят gstreamer, python, pygtk и scons он меня обматерил...

Кстати, что ты думаешь по поводу языка boo?

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

Кстати, что ты думаешь по поводу языка boo?

Когда я смотрел на него последний раз, он был для .NET и ничего интересного из себя не представлял.

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

там походу баг

Я вижу проблему не в этой конкретной тулзе, а вообще в подходе к программированию «а давайте не скажем юзеру где ошибка и размажем логику по 100500 сишным файлам».

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

Да, это я загнался. В гнушном действительно есть. Я с этим попутал. Но в любом случае там билтин запускается. Штобы было меньше тормозов )))

$ /usr/bin/echo -n test
-n test

Тормоза - это ожидание.

Тормоза это баш

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

Написано-то красиво, но вот логика размазана по всем файлам.

К стати да, такое даже страшнее чем просто грамотное форматирование. В принципе на Java такой разнос сложнее провернуть, чем на других ЯП, т.к. принуждает разбивать код по файлам-классам/пакетам, но все равно не панацея.

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

ммм, поставь arch, удивишься :).

Арч то понятно почему быстро стартует, там-то стартовать-то особо нечему, только самое необходимое =) Но на арче я поставил крест с тех пор, когда ввели новомодную кривую проверку хеша пакетов в пакмане, от чего оно превратилось в сплошной тормоз.

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

> Это проблемы конкретных утилит, а не баша.

Да, но встроенная поддержка регекспов не помешала бы. awk/sed/perl/etc приходится достаточно использовать.

Ты не поверишь: [[ $a =~ /blabla/ ]]

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

Вообще по моим наблюдениям upstart работает куда быстрее systemd. Если поставить дефолтную убунту 12.10 и дефолтную федору 17 - то запускаться будет быстрее убунта

Ты чего... у меня установелнная федора загружается раза в 4 быстрее чем убунта. На работе когда показал скорость загрузки с флешки люди прифигели. Проверялось на c2d e8400 и i5 3550.

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

Т.к. баш ничего другого не предоставляет, то это его личные половые проблемы :}

А что, в вашем языке программирования код, к примеру, подключения к dbus встроен прямо в компилятор? :) Или точно также приходится пользоваться сторонним инструментарием, пусть и в несколько иной форме?

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

Бедность встроенных средств порождает ненужные костыли.

js, systemd: что из них хрен, а что — редька? (комментарий)

Да, но встроенная поддержка регекспов не помешала бы.

В довесок к комментарию AnDoR:

% export VAR=test1test2test3
% echo ${VAR#*test[24]}
test3
% echo ${VAR//[1-9]/NUM}
testNUMtestNUMtestNUM

Да, это базовые регэкспы.

угу, зоопарк интерпретаторов это ещё одно зло из-за которого шелл-скрипты выглядят аля привет из 70-х.

Как будто у Нормальных Языков™ не бывает зоопарка компиляторов/рантайма.

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

новомодную кривую проверку хеша пакетов в пакмане, от чего оно превратилось в сплошной тормоз.

эээ, можно демонстрацию тормозов? У меня pacman адски летает, ничего подобного в других дистрах не видел и теперь администрирование убунт сущщее (слово-то правильно написал?) мучение.

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

Тем не менее, в POSIX echo вообще не поддерживает никаких параметров.

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

Ты говорил именно про bash.

да, верно. Только проблема в том что он опоздал с нововведениями и не получил должной поддержки сообщества. Как результат существуют 100500 best practices для bash как писать нормальный код, но при этом остались тонны старой документации, руководств и устоявщихся паттернов. В этом плане оно мне напоминает perl5.

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

В наших языках не надо парсить неподконтрольный вывод, там инструменты подогнаны друг к другу.

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

В наших языках не надо парсить неподконтрольный вывод, там инструменты подогнаны друг к другу.

Ты забыл добавить «…если автор позаботился о вынесении основного кода в библиотеки и написании биндингов».

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

Да ладно, сейчас ты мне ещё скажешь, что никак компом управлять без баша нельзя. Всё работает, не боись :}

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

Да ладно, сейчас ты мне ещё скажешь, что никак компом управлять без баша нельзя.

Говорят, есть инвалиды, которые всё делают ногами — управляются со столовыми приборам, застёгивают/растёгивают пуговицы, некоторые так даже картины рисуют. Ну ты понел, да?

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