我正在寻找降低此循环成本的方法。将新项添加到阵列时会出现瓶颈。我跑得很近。千万次迭代,所以任何性能的提升,无论多小,都会有很长的路要走。
int[][] coordinates;
public void RefactorCoordinates()
{
try
{
coordinates = new int[10000000][];
int nextIndex = 0;
double width = OffsetWidth;
double height = OffsetHeight;
double depth = OffsetDepth;
for (int z = 0; z < width; ++z)
{
for (int y = 0; y < height; ++y)
{
for (int x = 0; x < depth; ++x)
{
coordinates[nextIndex] = new int[] { z, y, x };
nextIndex++;
}
}
}
Array.Resize(ref coordinates, nextIndex);
}
catch(Exception ex)
{
ex.ToString();
}
}
答案 0 :(得分:0)
事实证明,通过结构而不是数组表示数据可以缓解大部分性能问题。我不确定为什么这会更快,但无论如何都有效。