Re[2]: 2D-Linq и оптимизация цифровых фильтров - 3
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.07.18 06:23
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>А как насчет Span&lt;T&gt; и Memory&lt;T&gt;<br />
<span class='lineQuote level1'>G&gt;</span>

Ну, единственное, чем может помочь Span<T> — это потенциальным устраненим проверок выхода за пределы строки во внутреннем цикле. В экспериментальных билдах эта оптимизация есть.
Остаётся найти, в каком месте Span<T> можно проинициализировать в адрес i-той строки массива. Проверкой выхода за границы в этом случае можно пренебречь — у нас проверок станет O(N) вместо O(N*M), причём для интересующих нас случаев M лежит в диапазоне 500-4000.
Сходу — не нашёл.
В принципе, если совместить Span<T> с инлайнингом експрешшнов (TBD), то можно получить вполне приемлемый gain.
Но тут Павел подкинул задачку
Автор: Pavel Dvorkin
Дата: 29.06.18
на порядок интереснее:
1. Во-первых, не один массив, а два
2. Во-вторых, есть подзадача с рекуррентным определением. Она сулит феерические впечатления при поисках возможности параллелизации.
Пока что нахожусь на этапе мучительных поисков синтаксиса.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.