0

List<Integer>私は最近、いくつかの変換を行った高性能システムで API 呼び出しを最適化する必要がありましたint[]。私の最初の発見は、予想される要素の平均量に対して、現在使用されている Apache Commons ArrayUtils よりも純粋な Java の方がはるかに高速に見えるということでした。係数 100-200 でさえ、私はちょっと驚きました。問題は、一度に 1 組の変換に対してのみテストを実行し、テストしたい要素の数ごとに小さなテスト プログラムを再起動することでした。そうすることで、純粋なJavaは、均一になり始めた数kまでの任意の数の要素に対してはるかに高速でした。今、私は座って、一度に多数の異なるサイズのリストを実行して結果を出力する、より優れたテスト プログラムを作成しましたが、私の結果はまったく異なります。

ArrayUtils は最初の実行でのみ遅くなり、リストのサイズに関係なく、最初の実行の要素数に関係なく、その後のすべての実行で速くなるようです。

ここで私のテスト クラスを見つけることができます: http://pastebin.com/9EYLZQKV

私が得た出力を得る理由がわからないので、穴を選ぶのを手伝ってください。

どうもありがとう!

4

1 に答える 1