0

给定 C# 中的以下表达式,并且chunkWidthchunkHeight是固定的预先计算的数字,是否可以通过预先计算部分模除法来优化表达式?

// Once assigned these guys never change
private int _chunkWidth;
private int _chunkHeight;

// This function needs to be super optimal!
SomeObject LookupObject(int row, int column) {
    int index = (row % _chunkHeight) * _chunkWidth + (column % _chunkWidth);
    return _objects[ index ];
}
4

2 回答 2

3

要允许变量只分配一次,您可以readonly向它们添加属性。这可能允许一些优化。不过,我不会非常担心基本算术运算的性能,除非这已被证明是一个非常严格的瓶颈。

于 2012-10-14T14:51:25.920 回答
1

即使chunkWidthchunkHeight是固定和预先计算的字段,但您仍然无法进一步优化模运算,因为rowcolumn是每次执行语句时都需要模运算的变量。

于 2012-10-14T14:51:09.213 回答