原文(日本語に翻訳)
パフォーマンス改善:SSE トランスポートが大容量のストリームフレームを線形時間で処理するようになった(以前は二次時間)
原文(英語)
Improved performance: SSE transport now handles large streamed frames in linear time (was quadratic)
概要
SSE(Server-Sent Events)トランスポートが大容量のストリームフレームを処理する際のアルゴリズムが、二次時間(O(n²))から線形時間(O(n))に改善されました。これにより、大きなレスポンスをストリーミングする際のパフォーマンスが大幅に向上します。特に長い出力(大量のコード生成、大きなファイルの処理など)で顕著な改善が見られます。
基本的な使い方
修正内容はパフォーマンス最適化のため、v2.1.90 にアップデートするだけで恩恵を受けられます:
bash
# v2.1.90以降: 大容量出力のストリーミングが高速化
claude
# 大きなコード生成や長いレスポンスが以前より速く表示される実践例
大量コード生成での改善
大規模なコードベース生成時の改善:
bash
# 例: 大量のコードを生成するタスク
claude "RESTful APIの完全な実装を生成して。エンドポイント、モデル、テスト、ドキュメントを含めて"
# v2.1.90以降:
# - 長いコード出力のストリーミングが線形時間で処理される
# - 以前は出力が長くなるほど指数的に遅くなっていた大きなファイルの分析
大きなファイルを処理する際の改善:
bash
# 大きなログファイルやコードファイルの分析
claude "このファイルを分析して詳細なレポートを作成して"
# v2.1.90以降:
# - 大きなレスポンスが以前より速くストリーミング表示されるAPIを通じた大容量出力
Claude Code SDK やAPIを使用した大容量出力:
python
import anthropic
client = anthropic.Anthropic()
# v2.1.90以降: 大きなストリームフレームの処理が大幅高速化
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=8192, # 大きなレスポンス
messages=[{"role": "user", "content": "詳細な技術文書を生成して..."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)注意点
- この改善は特に大容量のストリームフレームで顕著な効果があります
- 短いレスポンスでは改善の実感が薄い場合があります
- SSEトランスポートを使用している環境(Webベースのインターフェースなど)で特に効果的です
- O(n²)からO(n)への改善は、データサイズが2倍になった場合に4倍ではなく2倍の時間になることを意味します