From a6cfb73aeb15162be807c9d9e5a67a03d3bf4b84 Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Wed, 30 Nov 2022 21:55:38 +0100 Subject: [PATCH] perf: definitely reduce scheduler task check to 10 second interval Related issue: #429 --- zinit.zsh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/zinit.zsh b/zinit.zsh index 152aac421..4ac250a88 100644 --- a/zinit.zsh +++ b/zinit.zsh @@ -2390,12 +2390,15 @@ $match[7]}:-${ZINIT[__last-formatter-code]}}}:+}}}//←→} # (delay), i.e. "burst" allows to run package installations from # script, not from prompt. @zinit-scheduler() { - integer ___ret="${${ZINIT[lro-data]%:*}##*:}" + integer ___ret="${${ZINIT[lro-data]%:*}##*:}" ___secs=$((${#${ZINIT_TASKS:#}}>0?1:10)) # lro stands for lastarg-retval-option. - [[ $1 = following ]] && sched +1 'ZINIT[lro-data]="$_:$?:${options[printexitvalue]}"; @zinit-scheduler following "${ZINIT[lro-data]%:*:*}"' - [[ -n $1 && $1 != (following*|burst) ]] && { local THEFD="$1"; zle -F "$THEFD"; exec {THEFD}<&-; } + [[ $1 = following ]] && sched +$___secs 'ZINIT[lro-data]="$_:$?:${options[printexitvalue]}"; @zinit-scheduler following "${ZINIT[lro-data]%:*:*}"' + [[ -n $1 && $1 != (following*|burst) ]] && \ + { local THEFD="$1"; zle -F "$THEFD"; exec {THEFD}<&-; } [[ $1 = burst ]] && local -h EPOCHSECONDS=$(( EPOCHSECONDS+10000 )) ZINIT[START_TIME]="${ZINIT[START_TIME]:-$EPOCHREALTIME}" + # Return early if no actual tasks. + [[ -z ${ZINIT_TASKS:#} ]] && return 0 integer ___t=EPOCHSECONDS ___i correct local -a match mbegin mend reply @@ -3276,6 +3279,8 @@ typeset -g REPLY # a searchable menu of tags for current directory zinit null light-mode autoload'zi-browse-symbol' for %$ZINIT[BIN_DIR] +ZINIT_REGISTERED_PLUGINS[-1]=() + zle -N zi-browse-symbol zle -N zi-browse-symbol-backwards zi-browse-symbol zle -N zi-browse-symbol-pbackwards zi-browse-symbol