GCチューニングより先にコードを最適化すべき理由

Tune Code Before Your Garbage Collector

GCチューニングより先にコードを最適化すべき理由

Javaのメモリ割り当てを最適化することは、ガベージコレクタ(GC)の選択よりもはるかに大きな効果をもたらす可能性があり、最適なGCの選択肢さえ変えることがあります。この記事では、JLBHを使用してChronicle-FIXをテストし、MarketDataSnapshotからNewOrderSingleへのイベントを毎秒50,000件、30分間処理するベンチマークを紹介します。冗長なSLF4Jロギングを追加した場合と、Chronicle Queueによる内部記録のみの場合を比較し、p99.99(最悪1万分の1)のレイテンシでは、ロギングの最適化がGCの選択よりも桁違いに重要であることを示します。

p99.99は数千マイクロ秒、つまり19〜20ミリ秒です。p99.99、つまり最悪1万分の1はまれに思えるかもしれませんが、毎秒5万件の処理では、毎秒5回、毎分300回発生します。

この日のほかの記事

2026-07-13