Информация об изменениях

Сообщение Re[27]: 2D-Linq и оптимизация цифровых фильтров - 3 от 10.07.2018 0:11

Изменено 10.07.2018 0:14 vdimas

Re[27]: 2D-Linq и оптимизация цифровых фильтров - 3
Здравствуйте, samius, Вы писали:

S>Специально перечитал посты Синклера. Идея сравнения скорости двумерного массива с одномерным — не его.


Его, его. ))
У двумерного массива для доступа к элементу вызываются специальные методы класса-массива.
А в случае одномерного массива компилятор подставляет тупо опкоды со смещением по индексу.
Вот Синклер и подменил одно на другое (в числе прочего).
Эта фишка известна еще с забытых 2003-х годов.

Ну и помимо этого сработал тот мухлёж, что в исходном варианте происходит итерирование по столбцам (!!!), а в "оптимизированном" — как положено, по строкам, т.е. память перебирается последовательно, а не скачками.

Кароч, я так на всё это посмотрел и у меня возник вопрос, который до сих пор без ответа — так что с чем мы сравниваем, ась?
Re[27]: 2D-Linq и оптимизация цифровых фильтров - 3
Здравствуйте, samius, Вы писали:

S>Специально перечитал посты Синклера. Идея сравнения скорости двумерного массива с одномерным — не его.


Его, его. ))
У двумерного массива для доступа к элементу вызываются специальные методы класса-массива.
А в случае одномерного массива компилятор подставляет тупо опкоды со смещением по индексу.
Вот Синклер и подменил одно на другое (в числе прочего).
Эта фишка известна еще с забытых 2003-х годов.