Re: [PATCH] Speedup bash completion loading
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:47:29
Kirill Smelkov [off-list ref] wrote:
I've tracked down that the most time is spent warming up merge_strategy, all_command & porcelain_command caches.
Nak. The problem is, during completion when we modify the value the change doesn't persist beyond the current completion invocation. Thus there is no value in the cache, so every completion attempt which needs the list has to rerun the command to compute it.
quoted hunk ↗ jump to hunk
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 2c2a0d4..4c09d41 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash@@ -340,7 +340,6 @@ __git_merge_strategies () }' } __git_merge_strategylist= -__git_merge_strategylist=$(__git_merge_strategies 2>/dev/null) __git_complete_file () {@@ -505,7 +504,6 @@ __git_all_commands () done } __git_all_commandlist= -__git_all_commandlist="$(__git_all_commands 2>/dev/null)" __git_porcelain_commands () {@@ -596,7 +594,6 @@ __git_porcelain_commands () done } __git_porcelain_commandlist= -__git_porcelain_commandlist="$(__git_porcelain_commands 2>/dev/null)" __git_aliases () {-- 1.6.5.rc2.17.gdbc1b
-- Shawn.