Re[7]: Производительность .Net на вычислительных задачах
От: кубик  
Дата: 31.10.20 05:01
Оценка: 3 (1)
S>Для упрощения кода. Просто в дотнете нет никакой арифметики ни на byte, ни на word — есть только на int и на long.
S>Поэтому когда мы складываем byte + byte, получается сразу int, а к word придётся кастить руками.

Но у нас воспрос не простоты, а производительности... Надеюсь ты в докладе осветил этот недостаток

Переписаная на SSE с AVX c4_filter с WORD в 3-4 раза быстрее чем C++ (старенький VS 2008, проц Xeon старенький)

А с int в 2 раза быстрее чем C++

Результаты сверял.

в c4_filter я заменил только главный цикл. Думаю этого достаточно.
Так как Xeon у меня старый, инетересно, как моя функа (она тоже наивная, переписана с твоей) посчитает на новых и посоревнуется с современным оптимизатором?

Update: нашел gcc современный с -march=native и -mtune=native и -O2 так же как и VS 2008.
Он ничего не векторизировал в асме. Как я и ожидал. Если б так было б, то можно на пенсию было собираться.
Отредактировано 31.10.2020 6:34 кубик . Предыдущая версия . Еще …
Отредактировано 31.10.2020 5:39 кубик . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.