Skip to content

perf(voice): reuse a process-wide HTTP client for Volcano cloud TTS#1497

Draft
alan0x wants to merge 1 commit into
mainfrom
perf/voice-cloud-tts-shared-client
Draft

perf(voice): reuse a process-wide HTTP client for Volcano cloud TTS#1497
alan0x wants to merge 1 commit into
mainfrom
perf/voice-cloud-tts-shared-client

Conversation

@alan0x

@alan0x alan0x commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

Per-sentence reply synthesis built a fresh reqwest::Client on every call, so each sentence paid a new TCP+TLS handshake to bytedance. Share one process-wide client via OnceLock so reqwest pools connections (keep-alive) across the sentence-streamed cloud TTS path.

Why

Cheap, zero-risk latency win on the cloud TTS path: a voice reply is synthesized sentence-by-sentence, and each sentence was opening a brand-new HTTPS connection. Reusing the client removes the per-sentence handshake (tens–hundreds of ms each).

Scope

Single file (voice_turn.rs), 22 lines. No behaviour change, no API change — only connection reuse. Unit test asserts the client is a shared instance (volcano_client_is_reused_across_calls).

This is the first, independently-mergeable slice of a larger cloud-TTS latency effort; the remaining streaming work is parked on a separate branch pending a baseline first-audio measurement.

🤖 Generated with Claude Code

Per-sentence reply synthesis built a fresh `reqwest::Client` on every
call, so each sentence paid a new TCP+TLS handshake to bytedance. Share
one process-wide client via `OnceLock` so reqwest pools connections
(keep-alive) across the sentence-streamed TTS path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alan0x alan0x marked this pull request as draft June 23, 2026 01:33
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