perf: reduce client interceptor async layers - #197
Conversation
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review 补充了共享 outcome helper 重构(把 RunChainAsync / RunTypedChainAsync 的 status/error/elapsed 分类抽成 MarkChainSucceeded / MarkTerminalFailed / MarkTerminalElapsed,消除重复)。请评审最新提交。 注:CI 上一轮的 quick 集成测试失败是 |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
来源
#195(Client interceptor non-async fast path)。
改动
InvokeTerminalTrackedAsync改为非 async 委托,status/error/elapsed 下沉到各 shape 的InvokeTerminalAsync,通过共享MarkTerminalSucceeded/Failed/Elapsedhelper。InvokeAsync改为非 async 委托到RunChainAsync,新增RunTypedChainAsync<TResult>供 unary/client-streaming 直接返回 typed result,避免InvokeTypedAsync的额外 async 层。验证(242 CPU5,各 5 轮)
@codex review