You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
perf: Share single reqwest::Client to eliminate redundant TLS initialization
Previously, three separate reqwest::Client instances were built during
startup (API client, cache client, telemetry client), each performing
independent TLS initialization (~100-150ms each on macOS). This was
the single largest contributor to startup latency.
Now a single reqwest::Client is built once in cli::run() and shared
across all consumers via new_with_client() constructors. Per-request
timeouts replace per-client timeouts, preserving the existing timeout
semantics (API timeout for regular calls, upload timeout for cache
uploads).
Includes regression tests covering all client operations: get_user,
get_teams, get_caching_status, put/fetch/exists artifact, telemetry
recording, and timeout configurations.
0 commit comments