Создал mega_bash_func. Цель создании функции заменить ls команду на неё в скриптах , так же она умеет работать уже с переменными. Данная функция быстрее ls в 30 раз. Пока умеет делать grep и sed реализованном на bash.
PORTPROTON_NAME="${PORTPROTON_NAME//(`|\"|\'|!)/}" использовал здесь, bash не умеет так делать, чтобы (`|\"|\'|!) сразу заменить (на zsh работает, перепутал) и заменил на функцию которая умеет это делать
В будущем планирую добавить ещё аргументы. Для sed -r есть, для grep -i
Передел в lsbash, с sed mega_bash_func работает по времени так же, как и с нативным sed, но grep в 10 раз быстрее.
2162 milliseconds this ls / | grep usr
268 milliseconds this lsbash / --grep usr
1405 milliseconds this ls /
308 milliseconds this lsbash /
Это в цикле на 1000 повторений
Попробовал сделать grepbash, чтобы не --grep был, но такой вариант через pipe работает медленее, чем ls grep
Добавил grep -v, так же некоторые массивы из IFS=' ' read -r -a PW_AMOUNT_OLD_DESKTOP <<< "${PW_AMOUNT_OLD_DESKTOP[*]} $AMOUNT_GENERATE_BUTTONS" переделал в PW_AMOUNT_OLD_DESKTOP+=("$AMOUNT_GENERATE_BUTTONS"), в цикле можно так использовать, главное чтобы отдельные элементы были в внутри (), в двойных ковычках, вне цикла лучше через read -r -a
с grep -v результат такой
2326 milliseconds this ls / | grep l | grep -v 64
605 milliseconds this lsbash / --grep l --grep -v 64
переделал место с for ai_sort in $AI_TOP_GAMES ; do чтобы spellcheck не ругался
Убрал лишние IFS и в местах, где возможно < <(), заменил этим <<<. < <() работает %на 20-30 быстрее
Создал mega_bash_func. Цель создании функции заменить ls команду на неё в скриптах , так же она умеет работать уже с переменными. Данная функция быстрее ls в 30 раз. Пока умеет делать grep и sed реализованном на bash. PORTPROTON_NAME="${PORTPROTON_NAME//(`|\"|\'|!)/}" использовал здесь, bash не умеет так делать, чтобы (`|\"|\'|!) сразу заменить (на zsh работает, перепутал) и заменил на функцию которая умеет это делать В будущем планирую добавить ещё аргументы. Для sed -r есть, для grep -i
Передел в lsbash, с sed mega_bash_func работает по времени так же, как и с нативным sed, но grep в 10 раз быстрее.
2162 milliseconds this ls / | grep usr 268 milliseconds this lsbash / --grep usr
1405 milliseconds this ls / 308 milliseconds this lsbash /
Это в цикле на 1000 повторений
Попробовал сделать grepbash, чтобы не --grep был, но такой вариант через pipe работает медленее, чем ls grep
Добавил grep -v, так же некоторые массивы из IFS=' ' read -r -a PW_AMOUNT_OLD_DESKTOP <<< "${PW_AMOUNT_OLD_DESKTOP[*]} $AMOUNT_GENERATE_BUTTONS" переделал в PW_AMOUNT_OLD_DESKTOP+=("$AMOUNT_GENERATE_BUTTONS"), в цикле можно так использовать, главное чтобы отдельные элементы были в внутри (), в двойных ковычках, вне цикла лучше через read -r -a
с grep -v результат такой 2326 milliseconds this ls / | grep l | grep -v 64 605 milliseconds this lsbash / --grep l --grep -v 64
переделал место с for ai_sort in $AI_TOP_GAMES ; do чтобы spellcheck не ругался
Убрал лишние IFS и в местах, где возможно < <(), заменил этим <<<. < <() работает %на 20-30 быстрее