Size: a a a

2020 August 14

🦊

🦊fox.cpp in C++ Together 2.0
Evgeniy Pichuzhkin
Зачем я это увидел О_О
Кстати, а что так напугало?
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
🦊fox.cpp
Кстати, а что так напугало?
kernel/ и её подпапки
источник

🦊

🦊fox.cpp in C++ Together 2.0
Evgeniy Pichuzhkin
kernel/ и её подпапки
Ой, интересно, надо поглядеть
источник

🦊

🦊fox.cpp in C++ Together 2.0
Ох ебать там простыня
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
там вообще что-то невероятное
источник

🦊

🦊fox.cpp in C++ Together 2.0
Evgeniy Pichuzhkin
там вообще что-то невероятное
Тут судя по комментариям, процессор до последнего флопса жмут
источник

🦊

🦊fox.cpp in C++ Together 2.0
Вон результаты бенчмарков, где в плотную к теоретическому пределу пришло
источник

🦊

🦊fox.cpp in C++ Together 2.0
Навекторизировали мля
источник

🦊

🦊fox.cpp in C++ Together 2.0
Дженерик код кстати, не лучше выглядит
источник

🦊

🦊fox.cpp in C++ Together 2.0
Вот надо это говно накомпилить и посмотреть, как против чего
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
Кроме того, код на Си скован стандартом. Так то компилятор мб мог ещё больше, но он ограничен as if rule. Самым проблемным пунктом стандарта является memory model. В Си и крестах модель памяти довольно мягкая и позволяет много оптимизаций, но все же могут существовать случаи, когда желаемый код просто невозможно написать. Впрочем, возможно векторные интринсики GNU C могли бы тут помочь. Но тут уже проблемы портабельности - нужен рантайм диспатч ибо как мы уяснили, собирать код на системе пользователя - так себе идея. Кстати, тут выигрывают ЯП с JIT, что Роман "Царь" справедливо заметил.
Чё за as if rule?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
Чё за as if rule?
Компилятор может переписывать код, как хочет, если никто этого не заметит
источник

🦊

🦊fox.cpp in C++ Together 2.0
Кто и как может заметить детально определенно, собственно, остальными сотнями страниц
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
🦊fox.cpp
Вот надо это говно накомпилить и посмотреть, как против чего
возьми gentoo prefix или в чруте поковыряй, там проще всего будет это делать)

можешь задать целевую архитектуру с помощью CFLAGS в make.conf, можешь попробовать задать юзфлаг dynamic (он вроде про автоматическое определение какие оптимизации расчехлять в рантайме)
источник

🦊

🦊fox.cpp in C++ Together 2.0
Evgeniy Pichuzhkin
возьми gentoo prefix или в чруте поковыряй, там проще всего будет это делать)

можешь задать целевую архитектуру с помощью CFLAGS в make.conf, можешь попробовать задать юзфлаг dynamic (он вроде про автоматическое определение какие оптимизации расчехлять в рантайме)
Если ты мне для маленьких распишешь, как твоим генто пользоваться - с радостью, как только буду дома и время будет
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
тут уже сложнее XDD
источник
2020 August 15

RM

Roy Mustang in C++ Together 2.0
Где результаты бенчей?
Откуда инфа что он достучался до максимальной производительности
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Где результаты бенчей?
Откуда инфа что он достучался до максимальной производительности
От верблюда. Какой там самый лучший процессор с микроархитектурой Haswell?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Там где-то в комментах в исходниках утверждается, что код ниже делает в районе сотки GFLOPS на поток на каком-то там CPU.
источник

🦊

🦊fox.cpp in C++ Together 2.0
Не уточняется, к сожалению, SP FLOPS или всё-таки DP.
источник