私はいくつかのパフォーマンス クリティカルな Java コードを書いています。
私は、ほぼすべての情報が、約 1000 個の整数 (ほとんどがゼロ) の変化する配列内のゼロ以外のエントリの位置から計算できるモデルを使用しています。これらの計算を減らすために、配列が変更されたときに、再計算するのではなく、一定時間内に情報を更新するアルゴリズムに取り組んでいます。これは、次のような多くのコードにつながる可能性があります
...
info1[x][y][a] = ...
info1[x][x%2+y][b] = ...
if( info3[x][y][c]!=0 )
info2[x][y] = ...
if( some condition involving ~10 array entries) {
/** some expensive algorithm that is hopefully called rarely **/
}
info3[x][y] = ...
...
したがって、プログラムが実行しなければならない行の非常に大きな部分を構成する最小限の計算で、おそらく10回の連続した主に独立した配列書き込みが予想されます。このような単純な連続操作の数が適切であると期待する必要がありますか、または Java には、10 または 2 を実行できる速さで 20 の連続した単純な配列書き込みを実行する手段がありますか?