Size: a a a

2020 September 27

Лс

Лень с Самосознанием... in pro.bash
️ ️️
seq 2 2 100
Это не совсем под задачу, там же же не range а строка с цифрами
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Всё-таки переведи оба свои скрипта на шебанг с /bin/sh и перезапусти тест.
➜  ~ hyperfine -w 3 -r 1000 "./test1.sh {1..100}" "./test2.sh {1..100}"
Benchmark #1: ./test1.sh {1..100}
 Time (mean ± σ):       9.3 ms ±   2.2 ms    [User: 6.7 ms, System: 2.0 ms]
 Range (min … max):     6.4 ms …  24.0 ms    1000 runs

Benchmark #2: ./test2.sh {1..100}
 Time (mean ± σ):       1.0 ms ±   0.8 ms    [User: 1.1 ms, System: 0.5 ms]
 Range (min … max):     0.0 ms …   8.3 ms    1000 runs

Summary
 './test2.sh {1..100}' ran
   8.95 ± 7.37 times faster than './test1.sh {1..100}'
источник

Лс

Лень с Самосознанием... in pro.bash
0_0
источник

Лс

Лень с Самосознанием... in pro.bash
Я, конечно, знал что баш нетороплив...
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
➜  ~ hyperfine -w 3 -r 1000 "./test1.sh {1..100}" "./test2.sh {1..100}"
Benchmark #1: ./test1.sh {1..100}
 Time (mean ± σ):       9.3 ms ±   2.2 ms    [User: 6.7 ms, System: 2.0 ms]
 Range (min … max):     6.4 ms …  24.0 ms    1000 runs

Benchmark #2: ./test2.sh {1..100}
 Time (mean ± σ):       1.0 ms ±   0.8 ms    [User: 1.1 ms, System: 0.5 ms]
 Range (min … max):     0.0 ms …   8.3 ms    1000 runs

Summary
 './test2.sh {1..100}' ran
   8.95 ± 7.37 times faster than './test1.sh {1..100}'
Честно говоря, я всегда думал, что отличие в скорости между bash и dash было только в ≈2008 году, когда все Debian-based переходили на dash (https://wiki.ubuntu.com/DashAsBinSh), и сейчас это всё сошло на нет...
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
Я, конечно, знал что баш нетороплив...
Слушай, у тебя хороший test environment, запусти ещё тест с busybox ash :)
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Слушай, у тебя хороший test environment, запусти ещё тест с busybox ash :)
:D
А какой шебанг будет, получается?
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
:D
А какой шебанг будет, получается?
Ну если у тебя есть /usr/bin/busybox, то "#!/usr/bin/busybox ash"
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну если у тебя есть /usr/bin/busybox, то "#!/usr/bin/busybox ash"
Сейчас появитя
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
➜  ~ hyperfine -w 3 -r 1000 "./test1.sh {1..100}" "./test2.sh {1..100}"
Benchmark #1: ./test1.sh {1..100}
 Time (mean ± σ):       9.3 ms ±   2.2 ms    [User: 6.7 ms, System: 2.0 ms]
 Range (min … max):     6.4 ms …  24.0 ms    1000 runs

Benchmark #2: ./test2.sh {1..100}
 Time (mean ± σ):       1.0 ms ±   0.8 ms    [User: 1.1 ms, System: 0.5 ms]
 Range (min … max):     0.0 ms …   8.3 ms    1000 runs

Summary
 './test2.sh {1..100}' ran
   8.95 ± 7.37 times faster than './test1.sh {1..100}'
Кажется, я понял твою проблему.
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
➜  ~ hyperfine -w 3 -r 1000 "./test1.sh {1..100}" "./test2.sh {1..100}"
Benchmark #1: ./test1.sh {1..100}
 Time (mean ± σ):       9.3 ms ±   2.2 ms    [User: 6.7 ms, System: 2.0 ms]
 Range (min … max):     6.4 ms …  24.0 ms    1000 runs

Benchmark #2: ./test2.sh {1..100}
 Time (mean ± σ):       1.0 ms ±   0.8 ms    [User: 1.1 ms, System: 0.5 ms]
 Range (min … max):     0.0 ms …   8.3 ms    1000 runs

Summary
 './test2.sh {1..100}' ran
   8.95 ± 7.37 times faster than './test1.sh {1..100}'
Это всё фигня, а не бенчмарк. У тебя {1..100} не разрезолвился на dash.
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Это всё фигня, а не бенчмарк. У тебя {1..100} не разрезолвился на dash.
Всмысле?
источник

Лс

Лень с Самосознанием... in pro.bash
Я перед каждым бенчмарком проверяю работоспособность комманд
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
Я перед каждым бенчмарком проверяю работоспособность комманд
Ты запускал для проверки эту команду из баша? :)
источник

Лс

Лень с Самосознанием... in pro.bash
И тут dash ни при чём, его zsh  раскроет и передаст уже dash
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ты запускал для проверки эту команду из баша? :)
zsh
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
И тут dash ни при чём, его zsh  раскроет и передаст уже dash
Если бы это было так, hyperfine бы уже в своём output'е раскрыл бы {1..100} в 1, 2, 3, ...
источник

аᶘ

асоциальный пикотран... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Если бы это было так, hyperfine бы уже в своём output'е раскрыл бы {1..100} в 1, 2, 3, ...
> Benchmark #1: ./test1.sh {1..100}
источник

Лс

Лень с Самосознанием... in pro.bash
./test1.sh {1..10}
There are 10 arguments
2
4
6
8

Вот сейчас поймал что на busybox 10 куда-то потерялась
источник

Лс

Лень с Самосознанием... in pro.bash
Не уверен как именно это работает, но, по идее, он выполняет данную строку в оболочке, в которой запущен. А тут он в принципе не раскрывает
источник