The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект microG выпустил сборку LineageOS с альтернативной реа..., opennews (?), 04-Ноя-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


3. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –16 +/
Сообщение от VINRARUS (ok), 05-Ноя-17, 00:41 
Не проще KDE поставить?
Ответить | Правка | Наверх | Cообщить модератору

5. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от Аноним (-), 05-Ноя-17, 00:50 
Только MAGX, только хардкор и скрипты на баше.
Ответить | Правка | Наверх | Cообщить модератору

11. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –9 +/
Сообщение от VINRARUS (ok), 05-Ноя-17, 02:00 
Дааа, токо на shell, я тормозной bash не признаю.
Ответить | Правка | Наверх | Cообщить модератору

17. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +6 +/
Сообщение от Аноним (-), 05-Ноя-17, 05:10 
> bash
> тормозной

Лови наркомана!

Ответить | Правка | Наверх | Cообщить модератору

22. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от Аноним (-), 05-Ноя-17, 06:34 
Баш - тормоз. Пока загрузит bashrc 1000 лет пройдёт. sh грузится мгновенно.
Ответить | Правка | Наверх | Cообщить модератору

26. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +6 +/
Сообщение от Аноним (-), 05-Ноя-17, 11:03 
Проапгрейдь свои счеты хотя-бы до арифмометра, да?
Ответить | Правка | Наверх | Cообщить модератору

42. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –6 +/
Сообщение от VINRARUS (ok), 05-Ноя-17, 18:56 
Просто сравни:
time sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
с
time bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
Токо перед этим убедись через readlink /bin/sh не ссылается ли в твоем дистрибутиве sh на bash.
Ответить | Правка | Наверх | Cообщить модератору

43. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от anomymous (?), 05-Ноя-17, 22:09 
А можешь рассказать, зачем кому-то моет спонадобиться выполнить баш миллион раз ПОДРЯД?
Ответить | Правка | Наверх | Cообщить модератору

44. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –6 +/
Сообщение от VINRARUS (ok), 05-Ноя-17, 22:20 
Это работает в 1 процесе, при милиону башей ОС бы лягла.
Shell намного больше умеет чем ты думаеш. Раньше вообще Linux дистрибутивы через него грузились (до systemD). Да и щас он везде используется почти, при той же подготовке к компиляции, где размер скрипта достигает сотни кб.

Да и при обновлении думаю тоже он берет участие.

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

Ответить | Правка | Наверх | Cообщить модератору

51. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +2 +/
Сообщение от freehckemail (ok), 06-Ноя-17, 01:05 
> Shell намного больше умеет чем ты ДУМАЕШ. Раньше вообще Linux дистрибутивы через него грузились (до systemD).
> Да и щас он везде используется почти, при той же подготовке к компиляции, где размер скрипта ДОСТИГАЕТ СОТНИ КБ.
> Да и при обновлении ДУМАЮ тоже он берет участие.
> У меня например Shell автоматически управляет вентиляторами ШАС, для тиШЫны.
> Замечательный язык програМИрования для тех кому не нужен гуй.

Это типа такой хитрый ход секты фанатов поттеринга?

Ответить | Правка | Наверх | Cообщить модератору

52. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –4 +/
Сообщение от VINRARUS (ok), 06-Ноя-17, 01:55 
Я на Shell пишу грамотнее чем на росийском. =D
Ответить | Правка | Наверх | Cообщить модератору

57. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +1 +/
Сообщение от Аноним (-), 06-Ноя-17, 11:13 
>> Я на Shell пишу грамотнее чем на росийском. =D

... хм, заинтригован, а какой индекс скажем на tiobe.com/tiobe-index/ занимает ентот замечательный 'езыкк' - "росийском" - что-то сложилось найти ?

Ответить | Правка | Наверх | Cообщить модератору

58. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Аноним (-), 06-Ноя-17, 11:22 
Ну-ка, покажи-ка! Балаболить все горазды.
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

65. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –3 +/
Сообщение от VINRARUS (ok), 06-Ноя-17, 16:56 
Ну вот из последнего: http://forum.motofan.ru/index.php?s=&showtopic=179276&view=f...
Или если интересно реальное применение то вот (tar.gz): http://forum.motofan.ru/index.php?act=Attach&type=post&id=27...
Ответить | Правка | Наверх | Cообщить модератору

68. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +2 +/
Сообщение от Аноним (-), 06-Ноя-17, 18:32 
Хм, писать и правда умеешь. Только воспринимать это не легче того, что пытаешься изображать по-русски.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

81. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +4 +/
Сообщение от freehckemail (ok), 07-Ноя-17, 15:31 
> Ну вот из последнего: http://forum.motofan.ru/index.php?s=&showtopic=179276&view=f...

Слушай, я понимаю, что ты старался, но... Это жесть. Это самая натуральная "портянка".

Во-первых, вынеси переменные, которые будут конфигурируемы, в начало.

Во-вторых, чем передавать циферки в качестве аргументов, лучше используй какие-либо флаги. Разбор производи getopt-ом: по моему опыту, эта утилита есть самый простой сбособ разбора аргументов.

В-третьих, определять список файлов надо либо глобами (*), либо find-ом: ls с последующим sed-ом читать невозможно. Вот ты там хотел например sed-ом убрать директории и "."/".."... Но можно было бы, например, написать так: find . -mindepth 1 -maxdepth 1 -type f. Короче и понятнее.

Ну и, наконец, отступы. Не пренебрегай ими. Форматируй код.


Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

85. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 07-Ноя-17, 19:04 
>>Вот ты там хотел например sed-ом убрать директории и "."/".."... Но можно было бы, например, написать так

Я дал ссылку на последний пост темы, а ты по моему щас обсуждаеш самые первые версии (где я токо учился пользоваться shel'ом).
Вот прямая ссылка на мой последний код: http://forum.motofan.ru/index.php?act=Attach&type=post&id=27...

Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

89. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 08-Ноя-17, 16:32 
> обсуждаеш самые первые версии (где я токо учился пользоваться shel'ом).
> Вот прямая ссылка на мой последний код: http://forum.motofan.ru/index.php?act=Attach&type=post&id=27...

Я скажу мягко, чтобы не обидеть: шелл-скрипты ты писать не умеешь, парень. Пожалуйста, не бросай своим творчеством тень на наше сообщество. Иди поучись. bash(1) ты уже походу хотя бы по диагонали прочитал, это хорошо. Теперь тебе надо его читать внимательно, долго и вдумчиво. Неплохо было бы ознакомиться с утилитами из пакета coreutils. Очень желательно почитать ABS.

Но вообще, претензия к этим скриптам не языковая вообще-то. У тебя собственно страдает организация кода. Ещё, скажем так, не развилось чувство правильной вещи. Для этого нужно время и общение с правильными людьми. Подпишись на какие-нибудь рассылки. На форумах нынче только молодёжь тусуется, а спецы -- это в рассылки да на фриноду.

Только упаси боже, прежде чем туда соваться, поправь язык и изучи сетикет.

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

90. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 08-Ноя-17, 18:20 
Шо такое ABS? Дай пару примеров примерных скриптовых програм по твоему мнению.

Правильно может писать и не умею, по стандартному, но научился оптимизировать програмы под использование минимальных ресурсов.
Вы, юниксоводы, привыкли писать с размахом, имея многогигагерцовые ЦП, вот и тормозного bash себе линуксоводы слепили - задержки не волнуют совсем.
А я пишу в основном под древний ARM и знаю шо sed быстрее grep в качестве фильтра, а read быстрее awk при разбитии строки.
ПК юзерам такое не нужно в масштабах 1 скрипта, но когда их количество доходит до сотен-тысяч начитаются тормоза ОС и возникают всякие system:D.


Вы настолько не замечаете задержек шо в coreutils просто отсутствует генератор интервалов (или может я ошыбаюсь и есть утилита через определенный интервал генерирующая формальный текст на вывод?).
Писал демон управления частотой ЦП, где цыкл много раз в секунду должен обновлять инфу на постоянку, и приходилось пользоваться usleep 100000, который на 133 МГц отьедал более 50% процесорного времени. Пришлось просить знакомого програмиста написать нативный генератор интервалов, дабы не спамить новыми процесами usleep, и подцепил его в конвеер к цыклу. Как результат демон стал занимать всего 2-3% процесорного времени на 133 МГц.

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

91. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Andrey Mitrofanov (?), 09-Ноя-17, 09:42 
> Шо такое ABS?

https://www.allacronyms.com/abs/Advanced_Bash_Scripting


> Вы настолько не замечаете задержек шо в coreutils просто отсутствует генератор интервалов
> (или может я ошыбаюсь и есть утилита через определенный интервал генерирующая
> формальный текст на вывод?).

read -t 0.1

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

93. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 09-Ноя-17, 13:48 
> Дай пару примеров примерных скриптовых програм по твоему мнению.

Ну вот например можно посмотреть:
http://git.altlinux.org/people/ldv/packages/?p=gear.git;a=bl...
http://git.freehck.ru/freelancer-task-1.git/blob/master/scri...

> Вы, юниксоводы

Так, а ты у нас тут кто?

> юниксоводы привыкли писать с размахом, имея многогигагерцовые ЦП,
> вот и тормозного bash себе линуксоводы слепили - задержки не волнуют
> совсем

Там, где используются shell-скрипты, скорость как правило не является предметом первостепенной важности. Тут скорее вопрос о прозрачности работы и лёгкости модификации на конечной системе.

> научился оптимизировать програмы под использование минимальных ресурсов.

Вот на это обрати внимание особенно. Если у тебя сильно ограничены ресурсы, то очень вероятно, что shell в данном случае -- это не правильный инструмент.

> Вы настолько не замечаете задержек шо в coreutils просто отсутствует генератор интервалов

/bin/sleep -- это как раз coreutils

> Писал демон управления частотой ЦП, где цыкл много раз в секунду должен
> обновлять инфу на постоянку, и приходилось пользоваться usleep 100000, который на
> 133 МГц отьедал более 50% процесорного времени.
> Пришлось просить знакомого програмиста написать нативный генератор интервалов, дабы не спамить новыми процесами usleep

Насколько мне известно, usleep -- это такая функция из unistd (если не путаю). Какие процессы, какие 50% CPU?

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

94. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –4 +/
Сообщение от VINRARUS (ok), 09-Ноя-17, 17:47 
ОК.
>read -t 0.1

Ну неплохая эмуляция sleep 0.1, жаль шо bash, а занчит в ash/dash не применима.
>Так, а ты у нас тут кто?

Ну как видиш формально тоже, но по факту знакомился с миром unix от лица busybox и мобильного дистрибутива времен 2003-2005 года (на ядре Linux 2.6). По этому у меня другие взгляды. И да, там ОС запускается на скриптах. :)

>Вот на это обрати внимание особенно. Если у тебя сильно ограничены ресурсы, то очень вероятно, что shell в данном случае -- это не правильный инструмент.

Ну знаеш, есть фанаты питона, есть фанаты web, а есть фанаты shell. =)
Я понимаю шо C намного быстрее сам по себе, но зачем его долго изучать если shell полностью может выполнить задачу не хуже? Это отличный простой язык который в паре с утилитами бинарными может очень многое.
По моему лучше уж на shell писать, чем из тела бинарника C++ вызывать утилиты из /bin/.

>/bin/sleep -- это как раз coreutils

Смотри, вот такой пример:
read A0 A1 A2 A3 A4 AA </proc/stat
zInterval 100 text | while read out
do
    B4="$A4"
    read A0 A1 A2 A3 A4 AA </proc/stat
    CPUCONTROL
done
В нем функция CPUCONTROL вызывается каждые 0,1 с, а цыкл не плодит новых процесов постоянно, как было бы с sleep — это благодаря генератору интервалов zInterval который с паузой в 0,1 с просто печатает "text".

>Какие процессы, какие 50% CPU?

Каждый вызов sleep или usleep (который щас не нужен из за возможности sleep 0.0001) запускает новый процес, и это создает реальную и ощутимую нагрузку на ЦП при зацыкливании и милисекундных паузах.
И если на мощных ЦП ПК это почти не ощущается, то PID запущеных програм вида 54643543428 очень трудно воспринимать.
Не знаю как на современном Linux, но на 2.6 ядре отщет новых PID начинался сначала через лимит max pid, то есть 4485 может быть запущеным после 491448, а 145 до.

ПС: вот дефис на укр. раскладке, возьми: — :D

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

95. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 09-Ноя-17, 21:22 
> Смотри, вот такой пример

% cat /bin/zInterval
#!/bin/bash
while read -t $1 || :; do echo $2; done
%

> Каждый вызов sleep или usleep...

Я о том, что ты sleep и usleep путаешь. sleep -- это утилита из coreutils. usleep -- это библиотечная функция.

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

96. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 10-Ноя-17, 00:45 
>while read -t $1 || :; do echo $2; done

Спасиб[ао] за пример костылика. Правда если скрипт будет работать от /bin/bash то проще напрямую использовать:
while true; do read -t $TIME; DO_IT; done
Воспользуюсь на десктопном Linux управляя вентиляторами, все равно арчеводы упоролись и /bin/sh сделали симлинком на bash, а я продолжаю под sh писать по привычке.
Но я понял намек, правда огорчу тем шо старый bash (4.0.28) не работает так все равно. :D
Да и если на мощных ЦП разницы практически нет, то на 133 МГц ARM неповоротливость баша дает о себе знать, бинарная утилита от того и выгоднее.

>Я о том, что ты sleep и usleep путаешь. sleep -- это утилита из coreutils. usleep -- это библиотечная функция.

На десктопном Linux usleep просто отсутствует. А в busybox это аналог sleep, токо в милисекундах. Ты наверно подумал о C++, но нет, я о утилите писал лежащей /bin/.

Чесно скажу: трудно после древнего мобильного линукса с ФС в RO перестраиваться под современные дистрибутивы, вот и мы вроде говорим о одном, а на самом деле о разном. :D

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

98. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 11-Ноя-17, 01:17 
> Но я понял намек, правда огорчу тем шо старый bash (4.0.28) не работает так все равно.

Хм. Я может слегка не в тему, но... Собери себе новый zsh. Раз уж всё равно занимаешься извращениями, можно и собственные утилиты в систему притащить. Он и быстрее bash, и отлов ошибок там лучше, и плагинов дофига. Чего тебе вклинились такие древности?

> Да и если на мощных ЦП разницы практически нет, то на 133 МГц ARM неповоротливость баша дает о себе знать, бинарная утилита от того и выгоднее.

Бинарная-то конечно всегда в плане производительности выгоднее, однако надо иметь в виду, что она всегда уступает скриптам в том, что её в случае чего невозможно модифицировать. И между прочим, в данном случае при использовании любого интерпретатора, затраты в цикле будут мизерны. Памяти, конечно, будет юзаться чуть больше...

> На десктопном Linux usleep просто отсутствует. А в busybox это аналог sleep, токо в милисекундах.

Стоп. Busybox тут прозвучал довольно неожиданно, но хочу заметить, что там вообще-то не usleep, а busybox usleep вызывается. А если ты вызываешь usleep, так это оттого лишь, что usleep -- это ссылка на busybox.

Если речь о busybox, то там не следует беспокоиться о новом процессе от слова совсем. Создание процесса busybox вообще говоря требует выделения всего одной страницы памяти, не больше. Это процесс довольно-таки быстрый, потому что:


$ busybox pmap $$
08048000     792K r-xp  /bin/busybox
0810e000       4K rw-p  /bin/busybox
...

Так вот. Если я правильно тебя понял, ты утверждал парой сообщений выше, что вызов в скрипте usleep 100000, приводящий к обращению в busybox 10 раз в секунду, пожирал 50% процессорного времени?

Слушай... Не верю. Не должно такого быть. Надо смотреть на твою систему и анализировать. Может у тебя busybox был неправильный какой, может ядро древнее, собранное на коленке неизвестно кем неизвестно как...

> Ты наверно подумал о C++

Почему С++? usleep вполне себе сишная функция.

Кстати, в *микро*секундах.

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

100. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 11-Ноя-17, 21:53 
> Собери себе новый zsh.

Посмотрю, токо сомневаюся шо он быстрее ash. :)
>надо иметь в виду, что она всегда уступает скриптам в том, что её в случае чего невозможно модифицировать.

По этому я и есть фанат shell. :)
>в данном случае при использовании любого интерпретатора, затраты в цикле будут мизерны.

Не забывай шо read -t 0 это костыль, а не спец. команда, в быстром цыкле разница все равно будет.
Я б создателям утилит посоветовал команде yes добавить ключ задания пауз между каждой строчкой, может не такой бесполезной будет; если б это было просто.
>Стоп. Busybox тут прозвучал довольно неожиданно, но хочу заметить, что там вообще-то не usleep, а busybox usleep вызывается. А если ты вызываешь usleep, так это оттого лишь, что usleep -- это ссылка на busybox.

Неужели есть разница отдельный бинарник или из под busybox? Да я знаю о симлинках, сам же их ставил в моде.
>Это процесс довольно-таки быстрый

Быстрый, но не мгновенный. Жаль шо новый процес запускается.
>вызов в скрипте usleep 100000, приводящий к обращению в busybox 10 раз в секунду, пожирал 50% процессорного времени?
>Слушай... Не верю. Не должно такого быть. Надо смотреть на твою систему и анализировать.

Я извиняюся, ошыбся ноликом, реч о цыкле с usleep 10000, то есть 100 раз в секунду.
И на 133 МГц +55% в цыкле с usleep перед цыклом с нативным генератором пауз с тем же временем.
Интересно шо простое зацыкливание usleep дает уже +25%, то есть usleep не токо сам по себе обжора, но и тормозит видимо другие задачи. По крайней мере на моем ЦП i.MX31
>Может у тебя busybox был неправильный какой, может ядро древнее, собранное на коленке неизвестно кем неизвестно как...

# uname -a
Linux (none) 2.6.10_dev  armv6l unknown
# busybox
BusyBox v1.01 (---) multi-call binary

Кажется мелочью эти все задержки, но потом это всё растет (речь о програмировании в общем) и програма когда то работавшая на 0,5 ГГц уже задыхается на 4 ГГц в новых версиях...

Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

101. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 13-Ноя-17, 01:24 
>> Собери себе новый zsh.
> Посмотрю, токо сомневаюся шо он быстрее ash. :)

Ну я бы не вдавался в крайности. ash/dash как posix shell-ы конечно самые быстрые, но и не умеют ничего (потому что posix shell-ы); bash исторически самый распространённый, но при этом тормозилка та ещё, плюс дебаг на нём сложный. Zsh же -- вариант промежуточный. Многое может, но на порядок шустрее bash-а. Попробуй, может тебя устроит.

> Я б создателям утилит посоветовал команде yes добавить ключ задания пауз между
> каждой строчкой, может не такой бесполезной будет; если б это было
> просто.

Вообще-то философия GNU предполагает, что ты не будешь изменять старую утилиту, а вместо этого напишешь новую. Что, кстати, идея. Почему мы не можем просто-напросто написать новую утилиту и добавить её в coreutils? Тем более, что у тебя код zinterval уже на руках есть.

>>вызов в скрипте usleep 100000, приводящий к обращению в busybox 10 раз в секунду, пожирал 50% процессорного времени?
>>Слушай... Не верю. Не должно такого быть. Надо смотреть на твою систему и анализировать.
> Я извиняюся, ошыбся ноликом, реч о цыкле с usleep 10000, то есть 100 раз в секунду.

Всё равно не верю. Позволь поясню:

% /usr/bin/time -p dash -c "while true; do busybox usleep 10000; done"
real 179.48
user 0.16
sys 1.28

За 3 минуты реального времени -- менее полутора секунд процессорного времени потрачено.

>>Может у тебя busybox был неправильный какой, может ядро древнее, собранное на коленке неизвестно кем неизвестно как...
> # uname -a
> Linux (none) 2.6.10_dev  armv6l unknown
> # busybox
> BusyBox v1.01 (---) multi-call binary

Возможно, дело вот в этих вот самых древностях.

> Кажется мелочью эти все задержки, но потом это всё растет (речь о
> програмировании в общем) и програма когда то работавшая на 0,5 ГГц
> уже задыхается на 4 ГГц в новых версиях...

Утилиты ис ОС GNU стабильны, как часы: они получают только багфиксы и изредка оптимизации.

Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

102. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 13-Ноя-17, 06:27 
>ash/dash как posix shell-ы конечно самые быстрые

К стати, я тут ВНЕЗАПНО обнаружыл шо let в busybox (на ПК так само) ash\sh есть, а на ПК в dash нет. То есть фактически там не posix shell?
> Вообще-то философия GNU предполагает, что ты не будешь изменять старую утилиту, а
> вместо этого напишешь новую.

А разве Столман в известном фильме не топил за возможность изменения чужого кода и ее публикации (или информирование автора)? Или он имел в виду форки?
> Что, кстати, идея. Почему мы не можем
> просто-напросто написать новую утилиту и добавить её в coreutils? Тем более,
> что у тебя код zinterval уже на руках есть.

Начнем с того шо я готовый код с трудом компилю, а делать с ним какие то манипутяции могу токо методом тыка. :)
Сам исходник вот: http://forum.motofan.ru/index.php?s=&showtopic=163337&view=f...

> Всё равно не верю. Позволь поясню:
> % /usr/bin/time -p dash -c "while true; do busybox usleep 10000; done"
> real 179.48
> user 0.16
> sys 1.28
> За 3 минуты реального времени -- менее полутора секунд процессорного времени потрачено.

Ну как видиш (родной BusyBox, скомпилированый Motoroloй)...
BusyBox v1.01
# time -p sh -c "while true; do busybox usleep 10000; done"
Command terminated by signal 2
real 182.14
user 9.45
sys 51.66

> Возможно, дело вот в этих вот самых древностях.

Хм, похоже на то:
BusyBox v1.26.2
time -p /home/busybox sh -c "while true; do /home/busybox usleep 10000; done"
Command terminated by signal 2
real 179.89
user 0.14
sys 2.03

Неужели 1й BusyBox настолько забагованый был, или компиляторы за 10 лет настолько продвинулись?

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

103. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 13-Ноя-17, 13:13 
> К стати, я тут ВНЕЗАПНО обнаружыл шо let в busybox (на ПК так само) ash\sh есть, а на ПК в dash нет. То есть фактически там не posix shell?

Ага. let -- это башизм. Вместо него надо использовать arithmetic expansion. То есть:

wrong: let a=a+1
right: a=$((a+1))

> А разве Столман в известном фильме не топил за возможность изменения чужого кода и ее публикации (или информирование автора)?

Операционная система GNU и свободная лицензия GPL -- это две разные вещи. Изменять код конечно хорошо,  но пользователям нужна стабильность. Поэтому правило, образно говоря, такое: хочешь исправить багу -- лицензия GPL тебе позволяет это сделать, система GNU поощряет твой вклад. Но вот хочешь перекромсать стабильно работающую утилиту -- GNU не примет твой патч, хотя GPL тебе естественно позволяет сделать форк, если тебе захочется.

> Неужели 1й BusyBox настолько забагованый был, или компиляторы за 10 лет настолько
> продвинулись?

Не только в busybox дело, но и в ядре: sys же большую часть времени отожрал.
По-моему необходимость обновления налицо. И busybox обновить будет относительно просто, думаю, хотя в то же время с ядром могут быть проблемы: у вас же там какой-нибудь телефончик, небось проприетарные модули понапиханы производителем?

Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

104. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 13-Ноя-17, 15:35 
> Ага. let -- это башизм. Вместо него надо использовать arithmetic expansion.

Не ну я теперь знаю, но шо башызм делает в ash? Просто я был уверен шо пишу posix совместимый код, ведь ash вроде posix, но тут такая подстава в busybox...
> Операционная система GNU и свободная лицензия GPL -- это две разные вещи.
> Изменять код конечно хорошо,  но пользователям нужна стабильность. Поэтому правило,
> образно говоря, такое: хочешь исправить багу -- лицензия GPL тебе позволяет
> это сделать, система GNU поощряет твой вклад. Но вот хочешь перекромсать
> стабильно работающую утилиту -- GNU не примет твой патч, хотя GPL
> тебе естественно позволяет сделать форк, если тебе захочется.

Ясно. Мне интересно кто тот гений шо придумал утилиту yes :D
Вот токо писатели ядра Linux по моему этим и занимаются шо ломают стабильно работающий код, убивая совместимость модулей.
> Не только в busybox дело, но и в ядре: sys же большую
> часть времени отожрал.
> По-моему необходимость обновления налицо. И busybox обновить будет относительно просто,
> думаю, хотя в то же время с ядром могут быть проблемы:
> у вас же там какой-нибудь телефончик, небось проприетарные модули понапиханы производителем?

Motorola ZN5 — последний оплот Linux на кнопках. :)
Если интересно тут история линейки: http://forum.motofan.ru/index.php?showtopic=1738835

Конешно проприетарщина в дровах, к тому же не совместимая между разными мотороловскими ревизиями ядра 2.6.
busybox пробовали полностью новым заменить — телефон не стартует, даже после наложения патчей моторолы. Но можна использовать их 2, где второстепенные утилиты для системы симлинками на новый ведут.

Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

105. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от freehckemail (ok), 13-Ноя-17, 19:36 
>> Ага. let -- это башизм. Вместо него надо использовать arithmetic expansion.
> Не ну я теперь знаю, но шо башызм делает в ash? Просто
> я был уверен шо пишу posix совместимый код, ведь ash вроде
> posix, но тут такая подстава в busybox...

Ну, я не знаю оболочки, которая была бы *только* с реализацией стандарта posix. Насколько я помню, наиболее близок к этому именно dash. Его как раз и задумывали как "кастрированный ash".

> Ясно. Мне интересно кто тот гений шо придумал утилиту yes :D

Можно глянуть в сырцах. Открыты же. :)

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

У ядра одна цель -- не ломать юзерспейс. А про совместимость с бинарными проприетарными модулями никто никогда ничего не говорил.

> Motorola ZN5 — последний оплот Linux на кнопках. :)

Зная мобилоделов -- скорее всего там гвоздями прибитый кастрат, с которым ничего не поделать. Ну что тут сказать... Удачи. Я бы на твоём месте либо в chroot нормальную систему поставил, либо (раз уж всё равно chroot-ыхаться) взял бы ведроид китайский.

Если есть интерес к кнопочкам, то могу, кстати, N900 подогнать. Сам брал поиграться пару лет назад, да выяснил, что времени на это дело у меня нету.

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

107. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от VINRARUS (ok), 13-Ноя-17, 23:52 
>> Ясно. Мне интересно кто тот гений шо придумал утилиту yes :D
> Можно глянуть в сырцах. Открыты же. :)

Автор тот же шо и sleep/usleep :D

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

И это печально.

>> Motorola ZN5 — последний оплот Linux на кнопках. :)
> Зная мобилоделов -- скорее всего там гвоздями прибитый кастрат, с которым ничего
> не поделать. Ну что тут сказать... Удачи. Я бы на твоём
> месте либо в chroot нормальную систему поставил, либо (раз уж всё
> равно chroot-ыхаться) взял бы ведроид китайский.

Меня сенсорники дико раздражают. Все вокруг попереходили, а я не смог. Моя ZN5 ещо не одно поколение ведер пережыват, ведь есть запаска)
Да и само мусорное ведро я призираю, так как это лиш платформа для потребления контента, а не самостоятельная база.

> Если есть интерес к кнопочкам, то могу, кстати, N900 подогнать. Сам брал
> поиграться пару лет назад, да выяснил, что времени на это дело
> у меня нету.

Он же лиш частично кнопочник, вне терминала это пальцетыкалка. :)

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

108. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 15-Ноя-17, 04:14 
>>read -t 1
>Воспользуюсь на десктопном Linux управляя вентиляторами

Ага щас, system:D послала этот костыль, и вместо паузы получил 100% загруженое ядро, опять вернулся к sleep 1 на ПК...

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

110. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Аноним (-), 15-Ноя-17, 14:39 
А что, добавление нового аргумента - это breaking change и его не примут?
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

111. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –3 +/
Сообщение от VINRARUS (ok), 15-Ноя-17, 14:46 
> А что, добавление нового аргумента - это breaking change и его не
> примут?

Я и read -t 1, и read -t 1 A, и bash $0 пробовал, все равно из под system:D паузы нет.

Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

112. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от Аноним (-), 16-Ноя-17, 09:33 
Не-не-не, это был вопрос от меня к @freehck по поводу философии GNU и изменения существующих программ.

Разве новый аргумент, который добавит в цикл слип с длитедьностью, равной значению аргумента, считается ломающим изменением, и его не примут? Без аргумента всё ведь так же как раньше. А добавление новой логики существенно не усложнит и не замедлит столь простую утилиту, как yes.

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

114. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 17-Ноя-17, 00:18 
> Не-не-не, это был вопрос от меня к @freehck по поводу философии GNU
> и изменения существующих программ.
> Разве новый аргумент, который добавит в цикл слип с длитедьностью, равной значению
> аргумента, считается ломающим изменением, и его не примут? Без аргумента всё
> ведь так же как раньше. А добавление новой логики существенно не
> усложнит и не замедлит столь простую утилиту, как yes.

Могут и принять, конечно. Но сейчас у yes другой синтаксис: она получает либо строку, либо ключ, но не одновременно. При внесении изменений требуется учесть очень много нюансов.

Ну сходу давайте например такой. Мы добавили флаг "-t <num>". У некоего пользователя в скрипте команда вызывалась в виде "yes a -t 1", что приводило к бесконечному выводу строчки "a -t 1". После обновления он обнаруживает, что выполнение этой команды приводит к тому, что с интервалом в 1 секунду выводится строка "а". И нет, это не ему надо было писать "yes -- a -t 1", а мы были обязаны сохранять обратную совместимость.

В общем, чем обдумывать все возможные нюансы, лучше просто написать новую утилиту. С этим меньше возни будет.

Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

116. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Аноним (-), 21-Ноя-17, 15:13 
Мысль ясна, спасибо!
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

113. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 16-Ноя-17, 23:26 
> Я и read -t 1, и read -t 1 A, и bash $0 пробовал, все равно из под system:D паузы нет.

Кусок кода полностью сюда приложи. Тут systemd не при чём скорее всего. (при всей моей нелюбви к поттерингу)

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

117. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 21-Ноя-17, 15:34 
> Кусок кода полностью сюда приложи. Тут systemd не при чём скорее всего.
> (при всей моей нелюбви к поттерингу)

Ну раз кусок полностью :) то проще весь код дать:
#!/bin/dash
#bu VINRARUS
CPU=/sys/class/hwmon/hwmon3/pwm1
BIG=/sys/class/hwmon/hwmon3/pwm2
if grep k10temp /sys/class/hwmon/hwmon0/name
then
    sCORE=/sys/class/hwmon/hwmon0/temp1_input
elif grep k10temp /sys/class/hwmon/hwmon1/name
then
    sCORE=/sys/class/hwmon/hwmon1/temp1_input
else
    echo "not find k10temp"
    exit 2
fi
sCPU=/sys/class/hwmon/hwmon3/temp3_input
sGPU=/sys/class/hwmon/hwmon2/temp1_input
sMB=/sys/class/hwmon/hwmon3/temp2_input
CPUFAN(){
TT=0
for T in $c1 $c2 $c3 $c
do
    if [ "$T" -gt  "$TT" ]
    then
        TT=$T
    fi
done

if [ "$TT" != "$CPUpwm" ]
then
    CPUpwm="$TT"
    echo "$CPUpwm" > $CPU
fi
}
MOTOFAN(){
TT=0
T=0
for T in $m1 $m2 $m3 $m
do
    if [ "$T" -gt  "$TT" ]
    then
        TT="$T"
    fi
done
if [ "$TT" != "$MOTOpwm" ]
then
    MOTOpwm="$TT"
    echo "$MOTOpwm" > $BIG
fi
}
if [ -f "$sCORE" -a -f "$sGPU" -a -f "$sMB" -a -f "$CPU" -a -f "$BIG" -a -f "${CPU}_enable" -a -f "${BIG}_enable" ]
then
    if [ "$1" = "stop" ]
    then
        echo 254 > ${CPU}
        echo 254 > ${BIG}
        echo "max fan"
        echo 2 > ${CPU}_enable
        echo 2 > ${BIG}_enable
        echo "fan autocontrol"
        exit
    fi
    echo "Use: $0 -log"
    echo "Enable fan pwm control..."
    echo 1 > ${CPU}_enable
    echo 1 > ${BIG}_enable
else
    echo "Fan control blocked!"
    exit 4
fi
while true
do
    read -t 1 D
    ##sleep 1
    read tCORE x <$sCORE
#    read tCPU x <$sCPU
    read tMB x <$sMB
    read tGPU x <$sGPU
    tCORE=${tCORE%???}
    tMB=${tMB%???}
    tGPU=${tGPU%???}
    
###############tCORE#################
    case "$tCORE" in
    [0-9]|[0-3][0-9])
        m1=90
        c1=90
    ;;
    4[0-9])
        m1=90
        c1="$(((${tCORE#?}+1)*5/2+90))"
    ;;
    5[0-9])
        m1="$(((${tCORE#?}+1)*5+90))"
        c1="$(((${tCORE#?}+1)*5+115))"
    ;;
    6[0-4])
        m1="$(((${tCORE#?}+1)*8+140))"
        c1="$(((${tCORE#?}+1)*15+165))"
    ;;
    6[5-9])
        m1="$(((${tCORE#?}+1)*10+150))"
        c1="254"
    ;;
    *)
        m1=254
        c1=254
    ;;
    esac
################tMB################
    case "$tMB" in
    [0-9]|[0-3][0-9])
        m2=90
        c2=90
    ;;
    4[0-9])
        m2=90
        c2="$(((${tMB#?}+1)*5/2+90))"
    ;;
    5[0-9])
        m2="$(((${tMB#?}+1)*5+90))"
        c2="$(((${tMB#?}+1)*5+115))"
    ;;
    6[0-4])
        m2="$(((${tMB#?}+1)*8+140))"
        c2="$(((${tMB#?}+1)*15/2+165))"
    ;;
    6[5-9])
        m2="$(((${tMB#?}+1)*10+150))"
        c2="$(((${tMB#?}+1)*15/2+165))"
    ;;
    *)
        m2=254
        c2=254
    ;;
    esac
################tGPU################
    case "$tGPU" in
    [0-9]|[0-4][0-9])
        m3=90
        c3=90
    ;;
    5[0-9])
        m3="$((${tGPU#?}+91))"
        c3=90
    ;;
    6[0-9])
        m3="$((${tGPU#?}+101))"
        c3=90
    ;;
    7[0-9])
        m3="$(((${tGPU#?}+1)*2+110))"
        c3=90
    ;;
    8[0-9])
        m3="$(((${tGPU#?}+1)*10+130))"
        c3="$(((${tGPU#?}+1)*10+100))"
    ;;
    *)
        m3=254
        c3=254
    ;;
    esac
################analiz################
    CPUFAN
    MOTOFAN
    if [ "$1" = "-log" ]
    then
echo "BIG:$MOTOpwm   \n   CPU:$CPUpwm
$m1 $m2 $m3 \n $c1 $c2 $c3"
    fi
done


Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

118. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 21-Ноя-17, 15:35 
Ну и банальное bash /dir/script.sh из под system:D тоже не помагает.

Шо касается yes то через
yes -h
невозможно заставить выводить слово "-h", и это не единственный такой ключ.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

120. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +1 +/
Сообщение от freehckemail (ok), 28-Ноя-17, 12:33 
> Шо касается yes то через
> yes -h
> невозможно заставить выводить слово "-h", и это не единственный такой ключ.

yes -- -h

А с вышеобозначенным скриптом не помогу. Я не понял нихрена.

Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

121. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от VINRARUS (ok), 28-Ноя-17, 20:42 
> yes -- -h

Запомню, дякую.
> А с вышеобозначенным скриптом не помогу. Я не понял нихрена.

Ну он читает 3 температуры и на их основе меняет 2 параметра оборотов вентиляторов, просто сделал не линейную зависимость, а кривую. :)

Ну главная суть работы скрипта сводится к (просто аналогичный пример):

#!/bin/bash
while true
do
##    sleep 1 #так работает из под systemd
    read -t 1 #так НЕ работает из под systemd, нет паузы
    read a b c </proc/stat
    case "$b" in
    0)
        d=100
    ;;
    1)
        d=200
    ;;
    *)
        d=300
    ;;
    esac
    echo "$d"
done

Ответить | Правка | К родителю #120 | Наверх | Cообщить модератору

123. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 29-Ноя-17, 12:57 
> sleep 1 #так работает из под systemd
> read -t 1 #так НЕ работает из под systemd, нет паузы

При всей моей нелюбви к systemd, как она может так влиять на работу других программ, чтобы паузу сорвать?
sleep же дёргает usleep, а тот же реализован через sigalarm. То есть мы проходим через libc и ядро. Каким боком тут systemd?
Не шлёт же она каждую секунду sigalarm всем процессам в группе.

Покажи, в общем, как и откуда запускаешь этот сервис. Я коллегам разошлю, может кто чего дельное скажет.


Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

124. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +1 +/
Сообщение от EHLO (?), 29-Ноя-17, 14:07 
>> sleep 1 #так работает из под systemd
>> read -t 1 #так НЕ работает из под systemd, нет паузы
> При всей моей нелюбви к systemd, как она может так влиять на
> работу других программ, чтобы паузу сорвать?
> sleep же дёргает usleep, а тот же реализован через sigalarm. То есть
> мы проходим через libc и ядро. Каким боком тут systemd?
> Не шлёт же она каждую секунду sigalarm всем процессам в группе.
> Покажи, в общем, как и откуда запускаешь этот сервис. Я коллегам разошлю,
> может кто чего дельное скажет.

/proc/1/fd/0 -> /dev/null

$ time read -t 1 < /dev/null

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

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

125. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 29-Ноя-17, 18:43 
Понял, спасибо, EHLO. Плюс заметил, что sleep работает. Я сначала почему-то прочитал наоборот и гадал, как sleep может НЕ работать...
Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

84. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +1 +/
Сообщение от freehckemail (ok), 07-Ноя-17, 18:49 
Кстати. :)

http://vinrarus.ucoz.net/

Сайт заблокирован
Причина блокировки: Распространение вредоносного ПО

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

86. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –3 +/
Сообщение от VINRARUS (ok), 07-Ноя-17, 19:06 
На сайте лежал архив с тыщей древних вирусов, для проверки антивируса. ;)
А щас с доступом проблемы.
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

115. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от freehckemail (ok), 17-Ноя-17, 00:19 
> На сайте лежал архив с тыщей древних вирусов, для проверки антивируса. ;)

На будущее: если ты на бессплатном хостинге такое выкладываешь, ставь на архив пароль.


Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

122. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –1 +/
Сообщение от VINRARUS (ok), 28-Ноя-17, 20:42 
>> На сайте лежал архив с тыщей древних вирусов, для проверки антивируса. ;)
> На будущее: если ты на бессплатном хостинге такое выкладываешь, ставь на архив
> пароль.

А там стоял пароль и так, все равно пристали.

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

45. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Аноним (-), 05-Ноя-17, 22:28 
Баш в этом примере запускается ровно один раз. Миллион раз подряд всего лишь инкрементируется счётчик и проверяется его значение.
Так что чтение .bashrc (которое тоже происходит олин раз) тут тоже ни при чём. Просто баш сам по себе такой тормоз.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

60. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +1 +/
Сообщение от Ананом (?), 06-Ноя-17, 13:49 
$ time sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'

real    0m6,488s
user    0m6,480s
sys     0m0,000s
$ time bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'

real    0m6,417s
user    0m6,420s
sys     0m0,000s

?

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

61. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Ананом (?), 06-Ноя-17, 13:51 
>[оверквотинг удален]
> NO=$((NO+1)); done'
> real    0m6,488s
> user    0m6,480s
> sys     0m0,000s
> $ time bash -c 'NO=1; until [ $NO = 1000000 ]; do
> NO=$((NO+1)); done'
> real    0m6,417s
> user    0m6,420s
> sys     0m0,000s
> ?

ладно туплю

Ответить | Правка | Наверх | Cообщить модератору

67. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 06-Ноя-17, 17:02 
Проверь: readlink /bin/sh
На бубунте разница раза в 4.
Ответить | Правка | Наверх | Cообщить модератору

87. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  –2 +/
Сообщение от VINRARUS (ok), 07-Ноя-17, 19:13 
>>На бубунте разница раза в 4.

Вот, даже больше чем 4 раза на 17.10:
$ readlink /bin/sh
dash

$ time sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
real    0m1,442s
user    0m1,442s
sys     0m0,000s

$ time bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
real    0m6,657s
user    0m6,655s
sys     0m0,000s

Ответить | Правка | Наверх | Cообщить модератору

73. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Аноним (-), 06-Ноя-17, 20:46 

% time sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'  3,01s user 0,00s system 99% cpu 3,012 total
% time bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'  12,66s user 0,01s system 99% cpu 12,678 total
% time zsh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'
zsh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'  7,13s user 1,05s system 99% cpu 8,187 total

zsh: 5.4
bash: 4.4

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

77. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +/
Сообщение от Ыр2.0 (?), 07-Ноя-17, 09:51 
$time sh -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'

real    0m9.006s
user    0m7.328s
sys     0m0.225s

$time bash -c 'NO=1; until [ $NO = 1000000 ]; do NO=$((NO+1)); done'

real    0m4.316s
user    0m4.316s
sys     0m0.000s

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

33. "Проект microG выпустил сборку LineageOS с альтернативной реа..."  +2 +/
Сообщение от Аноним (-), 05-Ноя-17, 14:04 
>Не проще KDE поставить?

Наверное, не проще, но лучше.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру