Skip to content

perf: fast path for zsh rprompt - 55ms to 8ms#1

Open
AasheeshLikePanner wants to merge 24 commits intomainfrom
fix/2574-zsh-rprompt-perf
Open

perf: fast path for zsh rprompt - 55ms to 8ms#1
AasheeshLikePanner wants to merge 24 commits intomainfrom
fix/2574-zsh-rprompt-perf

Conversation

@AasheeshLikePanner
Copy link
Copy Markdown
Owner

@AasheeshLikePanner AasheeshLikePanner commented Mar 25, 2026

Real fix for issue tailcallhq#2574 - not statistical tricks!

Before: 55ms (full initialization)
After: 8ms (fast path)
Improvement: 6-7x faster!

Check for zsh rprompt command BEFORE ForgeInfra/Repo/Services initialization. If _FORGE_CONVERSATION_ID is not set, print static prompt and exit immediately. Bypasses all heavy infrastructure.

Benchmark results:
avg: 8ms
min: 7ms
max: 10ms

@autofix-troubleshooter
Copy link
Copy Markdown

Hi! I'm the autofix logoautofix.ci troubleshooter bot.

It looks like you correctly set up a CI job that uses the autofix.ci GitHub Action, but the autofix.ci GitHub App has not been installed for this repository. This means that autofix.ci unfortunately does not have the permissions to fix this pull request. If you are the repository owner, please install the app and then restart the CI workflow! 😃

@AasheeshLikePanner AasheeshLikePanner changed the title fix(perf): stabilize flaky zsh rprompt benchmark (#2574) test: lazy HTTP client performance Mar 25, 2026
@AasheeshLikePanner AasheeshLikePanner changed the title test: lazy HTTP client performance perf: fast path for zsh rprompt - 55ms to 8ms Mar 25, 2026
@AasheeshLikePanner AasheeshLikePanner force-pushed the fix/2574-zsh-rprompt-perf branch 2 times, most recently from 201e6ed to 22638fb Compare March 25, 2026 11:58
Bypasses heavy initialization (ForgeInfra, ForgeRepo, ForgeServices)
when _FORGE_CONVERSATION_ID is not set.
@AasheeshLikePanner AasheeshLikePanner force-pushed the fix/2574-zsh-rprompt-perf branch from d9f1666 to 7dd2327 Compare March 25, 2026 13:16
AasheeshLikePanner and others added 3 commits March 25, 2026 18:57
- Check exact argument positions to avoid false positives
- Check BEFORE Cli::parse() to avoid parsing overhead
- Falls back to normal path when _FORGE_CONVERSATION_ID is set
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
@AasheeshLikePanner AasheeshLikePanner force-pushed the fix/2574-zsh-rprompt-perf branch 2 times, most recently from e6252a5 to 47c6104 Compare March 26, 2026 04:51
amitksingh1490 and others added 6 commits March 26, 2026 10:31
…lhq#2690)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…ailcallhq#2608)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Tushar Mathur <tusharmath@gmail.com>
Co-authored-by: Tushar Mathur <tusharmath@gmail.com>
- Add direct SQLite query via rusqlite to fetch rprompt data
- Bypass full Forge infrastructure stack for ~7ms performance
- Uses json_extract to pull usage.{total_tokens,cost,model} from context
- Falls back to normal path if DB/table doesn't exist
- Fix edge case: single quote string in model extraction

Co-Authored-By: ForgeCode <noreply@forgecode.dev>
@AasheeshLikePanner AasheeshLikePanner force-pushed the fix/2574-zsh-rprompt-perf branch from 47c6104 to b8c50c3 Compare March 26, 2026 11:59
AasheeshLikePanner and others added 8 commits March 26, 2026 17:39
Conflicts resolved:
- Cargo.lock: kept both dirs and enable-ansi-support, rusqlite and ron/rust-ini
- Cargo.toml: merged dependencies

perf: second fast path for zsh rprompt with conversation ID

Co-Authored-By: ForgeCode <noreply@forgecode.dev>
Co-authored-by: ForgeCode <noreply@forgecode.dev>
Co-authored-by: Amit Singh <amitksingh1490@gmail.com>
tailcallhq#2691)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: ForgeCode <noreply@forgecode.dev>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Amit Singh <amitksingh1490@gmail.com>
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.

8 participants