Skip to content

Improv(zsh-perf): Cut shell startup ~33% (700ms -> 465ms) - #82

Merged
mrsauravsahu merged 2 commits into
mainfrom
worktree-zsh-startup-perf
Aug 7, 2026
Merged

mrsauravsahu merged 2 commits into
mainfrom
worktree-zsh-startup-perf

Conversation

@mrsauravsahu

Copy link
Copy Markdown
Owner

No description provided.

mrsauravsahu and others added 2 commits August 7, 2026 18:40
Fixes the "sometimes it's very slow" report. The 24h compinit cache guard was
permanently stuck in the slow path: compinit only rewrites .zcompdump when
completions change, so once the dump crossed 24h old it matched (#qN.mh+24)
forever and every shell paid full compinit. When the dump is missing entirely
that path costs 3.35s, which is the occasional multi-second hang.

- touch .zcompdump after a full compinit so the guard resets
- lazy-load thefuck behind a self-replacing fuck() stub (~68ms/start)
- cache `oh-my-posh init zsh` output, keyed on binary/theme mtime (~103ms/start),
  stripping POSH_SESSION_ID so each shell still gets a unique session id
- typeset -U path PATH and drop the redundant early export (PATH 85 -> 41, no dups)
- drop a broken ${HOME}/${CLI_CONFIG_ROOT}/... shims entry that never existed
- move macOS-only PATH/alias lines out of the cross-platform .zshrc

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mrsauravsahu
mrsauravsahu merged commit 460da15 into main Aug 7, 2026
1 check failed
@mrsauravsahu
mrsauravsahu deleted the worktree-zsh-startup-perf branch August 7, 2026 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant