私はバーストにログインするためにたくさんのものを書いていて、データパスを最適化しています。でログテキストを作成しますStringBuilder
。最も効率的な初期容量、メモリ管理に関しては、JVMに関係なくうまく機能するのでしょうか。目標は、ほとんどの場合、再割り当てを回避することです。これは、約80〜100の初期容量でカバーする必要があります。ただし、StringBuilderインスタンスがバッファ内でハングし、無駄なバイトが発生する可能性があるため、できるだけ少ないバイトを無駄にしたいです。
これはJVMに依存することは理解していますが、JVMに関係なく、「最小公分母」のような、最小のバイトを浪費する値があるはずです。私は現在128-16
、を使用しています。ここで、128は適切なラウンド数であり、減算は割り当てのオーバーヘッド用です。また、これは「時期尚早の最適化」の場合と考えられるかもしれませんが、私が求めている答えは「経験則」の数値であるため、将来的にも役立つことを知っています。
私は「私の最善の推測」の答えを期待していません(上記の私自身の答えはすでにそれです)、誰かがこれをすでに研究していて、知識ベースの答えを共有できることを願っています。