Re[5]: Производительность .Net на вычислительных задачах
От: vdimas Россия  
Дата: 23.10.20 16:52
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Nuzhny, Вы писали:

N>>Э, там у тебя в репозитории не самый удачный С++ код, можно его ускорить в пару раз, при этом не факт, что он ещё и увеличится. Не читал код бенчмарка, но явно выделение памяти не надо делать при каждом вызове фильтра,
S>надо. По определению — каждый вызов фильтра возвращает новый массив.

В плюсах предвыделяют память и далее запускают pipeline.
Никто новые массивы не создаёт и не вовращает, ес-но...
По крайней мере, на уровне ответственности конкретного алгоритма.


S>Иначе будем сравнивать яблоки с бананами.


Иначе можно было ограничиться сравнением эффективности вызова new, не усложняя это сравнение всякими linq2d.


S>Что имеется в виду? SIMD на ручных интринсиках? Как раз от этого хотелось бы уйти.


/arch:AVX2?

Но этого мало, надо смотреть, как код бегает по данным, т.е. возможна ли векторизация в том обходе памяти принципиально?
Потому что комплятор зачастую никакой векторизации не делает ввиду её невозможности согласно алгоритма, даже если компилит использование более широкого файла MMX/YMM-регистров... использование файла этих регистров не есть векторизация.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.