Firefox web browser - Faster, more secure & customizable

来週の登場が予定されているFirefox 6は、どうやらTCPコネクションの使い回しを工夫することで通信の高速化を実現したという調査結果が「Just in Time Connection Reuse in Firefox 6」で報告されている。HttpWatchをFirefox 6に対応させる作業中にFirefox 6のこの挙動に気がついたと説明がある。

Firefox 6以前のFirefoxでは通信ごとに新しくTCPコネクションを確立してデータのやり取りを行っている。これがFirefox 6ではかなり積極的に既存のTCPコネクションを使い回す仕組みになっているという。使い回すことができるTCPコネクションが残っておらず、新しいTCPコネクションを張りにいった場合でも、そのTCPコネクションが確立する前にほかの既存のTCPコネクションが使えるようになると、そちらを利用するという。また新しいTCPコネクションが確立したあとであっても、古いTCPコネクションを方を使うケースもあるという。

Just in Time Connection Reuse in Firefox 6」ではこのような実装が採用されている理由として、新しいTCPコネクションが確立する前に既存のTCPコネクションが使えるようになったのであれば、そちらを使った方が処理時間が短くなること、既存のTCPコネクションの方が通常はより大きなTCP輻輳ウィンドウを持っているため、より優れたスループットが期待できることが説明されている。