Total wall-time 은 batch job 한정으로 의미. Chat 에선 TTFT (time-to-first-token) 만 의미 — 사용자는 첫 200ms 를 느껴. Non-streaming 3 초 호출은 broken 처럼 느껴지고, streaming 10 초인데 첫 token 이 200ms 에 오면 instant 처럼 느껴져.
실험으로 박아보기
같은 프롬프트를 stream vs non-stream 으로 5 번씩 돌려 — TTFT 와 total wall-time 둘 다 측정. 표 만들어. 'streaming 이 중요해' 라고 듣는 거랑 직접 측정해서 보는 거랑 다른 layer 야.
Streaming 안 할 곳
Backend pipeline, eval, dataset gen, batch summarization — 사람 눈이 wire 를 안 보는 곳은 stream 안 해. Per-chunk 파싱 + accumulator state overhead 만 추가.
UX 의 perception
사용자는 'instant' 와 'eventually' 만 느껴. 200ms 안에 뭐든 보이면 instant, 그 너머는 점점 broken 으로 perceived. Streaming 의 목적은 그 perception window 를 잡는 것.