Alexander
*писал
A64m
ну есть у него такой пакет, которым можно проверять сработали ли оптимизации
A64m
у generic-lens тестсьют на такой штуке сделан
A64m
это все сильно экспериментальное, конечно
A64m
я немного про другое, про такой едсл для написания фортранолапши в виде комбинирования комбинаторов которое или работает или нет, а не ускоряет если повезет
A64m
ну и с настройками всякими типа анролла и прочего, т.е. полностью противоположный подход для нынешних фьюжн-механизмов, которые претворяются, будто их нету вовсе
Alexander
угу
Alexander
мне кажется что если явно писать на бандлах и стримах, то этого добиться можно
Alexander
но там комбинаторы нужны
Alexander
вот для unrolling-а и т.п.
Alexander
@voidlizard а ты знаешь как на сях сделан быстрый memcpy? я могу как-то переиспользовать магию если собираю не gcc
Alexander
кроме как явно повторить специализации
Denis
обычно все слишком большое, чтобы за мелочами успевать следить
Alexander
угу
Denis
такими как производительность
Alexander
а потом начинаются прыжки вокруг flamegraph, eventlog и прочей телиметрии
Denis
ну а что делать то
Alexander
ничего
Dmitry
@qnikst ну там же вся суть, что разные реализации подставляются на этапе компиляции
Dmitry
и инлайнятся поди
Dmitry
там sse всякий и тп подобный треш
Dmitry
т.е я не знаю какие именно оно реализации подставляет - как правило, это видно в perf когда в memcpy висит
Alexander
угу, мне интересно на rewriting rules такое зопилить можно или нет
Dmitry
ну или в листинге должно быть видно
Denis
организационно можно конечно выделить человека, который будет производительностью заниматься, но обычно это никому нафиг не нужно
Dmitry
ну если там можно подставлять разный сишный код в зависимости от условий
Dmitry
но это ж ппц.
Dmitry
ломаться будет, поди
Denis
вы еще олимпиадку продолжаете чтоли?
Alexander
ну если у будет какой-нить fast-memcpy пакет
Alexander
не
Alexander
скорее, что полезное из неё можно вынести
Danila Matveev
Можете порекомендовать чтиво про фьюжн (есть ли под этим какая-то теоретическая база или это просто эвристики)? Знаю про это ничего, но очень интересно погрузиться. #fusion
Alexander
тезис дункана
Alexander
и несколько дней поднималась назад эта тема
Alexander
теор база есть
Alexander
ещё можно про acid rain и компанию почитать
A64m
там еще не назывался пейпер целиком посвященный проблеме concatMap в стрим фьюжене и способам решения
Alexander
там много веселых хиломорфизмов и т.п. // @xgrommx понравится
A64m
вспомнить бы его название еще
Danila Matveev
спасибо!)
Dmitrii
Не статья, но очень хороший туториал: https://www.stackbuilders.com/tutorials/haskell/ghc-optimization-and-fusion/
Danila Matveev
тоже спасибо
A64m
во, нашел https://pdfs.semanticscholar.org/634c/5936ee0be6ab9adcd89924dbe859c13def3b.pdf
A64m
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.7401
вот предыдущий подтред с пейперами
A64m
ну и основное чтение это диссер Коутса: https://ora.ox.ac.uk/objects/uuid:b4971f57-2b94-4fdf-a5c0-98d6935a44da
Danila Matveev
огонь!
Danila Matveev
спасибо еще раз)
Alexander
щас найду магистрскую товарища
Vasiliy
что где?)
пока он ищет, вот http://vmchale.com/recursion-scheme-generator/index.html
Зигохистоморфный
баян
Зигохистоморфный
в плане рекурсивных схем многое баян уже) видел много всякого
Anonymous
monadic symplectomorphic chronomorphism generalized apopostpromorphic postpromorphism
Alexander
блин чот не ищется а снова спрашивать стыдно
A64m
где-то тут https://www.fing.edu.uy/inco/proyectos/fusion/ должна быть
Зигохистоморфный
Alexander
я у него уже спрашивал ссылку на thesis
Alexander
@A64m_qb0 как всегда спасибо!
Alexander
https://www.fing.edu.uy/inco/proyectos/fusion/dominguez-thesis.pdf
Alexander
вообще там весело, там fusion для нелинейных структур данных
Kirill
Alexander а ты machine fusion и folderol не ковырял? Типа всякие сплиты и джойны стримов есть
Kirill
https://github.com/amosr/folderol
Alexander
это другой Alexander
Alexander
неа
Kirill
оно на TH, так что неявностей как с инлайнингом якобы не должно быть
Kirill
ну и по картинком в пейпере как обычно всех быстрей :)
Alexander
картинки в пейпере всегда так
A64m
Alexander а ты machine fusion и folderol не ковырял? Типа всякие сплиты и джойны стримов есть
Ну больше Липмеера для хаскеля в этой области никто не делал, так что придется смотреть
a66ath
https://www.reddit.com/r/programmingcirclejerk/comments/789nay/nokia_proposes_to_make_c_a_monoid_with_the/
Anonymous
https://www.reddit.com/r/programmingcirclejerk/comments/789nay/nokia_proposes_to_make_c_a_monoid_with_the/
C++ на той стадии, когда трудно понять, серьезно они это говорят, или шутят.
Ilya
Пять стадий принятия монад в C++ 😏
Alexander
0.87s
Alexander
haskell
Alexander
F.foldMap (U.foldr ()) по вспомогательным векторам индексов