Array.Copy() быстрее, чем для цикла, для 2D массивов?

Я недавно изменил

        this.FieldValues = new object[2, fieldValues.GetUpperBound(1) + 1];
        for (int i = 0; i < FieldCount; i++)            
        {
            this.FieldValues[Current, i] = fieldValues[Current, i];
            this.FieldValues[Original, i] = fieldValues[Original, i];
        }

на

        FieldValues = new object[2, fieldValues.GetLength(1)];
        Array.Copy(fieldValues, FieldValues, FieldValues.Length); 

Где значения Current и Original являются константами 0 и 1 соответственно. FieldValues является полем, а FieldValues - параметром.

Там, где я его использовал, я нашел версию Array.Copy() более быстрой. Но другой разработчик говорит, что он тайминговал for-loop против Array.Copy() в автономной программе и нашел for-loop быстрее.

Возможно ли, что Array.Copy() на самом деле не быстрее? Я думал, что это должно быть супер-оптимизировано!

6
задан PeteAC 20 September 2011 в 10:45
поделиться