169 похожих чатов

Какой профит от SPECIALIZE прагмы?

16 ответов

20 просмотров

Меньше редиректов ценой дубликации кода. https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#specialize-pragma

Пользователь 629ad
Меньше редиректов ценой дубликации кода. https:...

ну так-то это наоборот средство уменьшить дупликацию кода

позволяет заранее заготовить ходовые специализации для функции, чтоб компилятор не пытался их потом делать снова и снова

Danil-Berestov Автор вопроса
Danil Berestov
А почему "снова и снова"? не понимаю

ну локально в разных местах специализировать одно и то же

Danil-Berestov Автор вопроса
Danil Berestov
А, вот оно шо. Он реально так делает? А зачем?

ну конечно, без специализации все тормозить будет

A64m AL256m qn<cores> I0
ну так-то это наоборот средство уменьшить дупликац...

Наоборот ведь, иначе будет одна полиморфная функция, в которую словарики параметрами передаются, а так их будет много, но со специализированными типами и словарями. Агрессивно и повторно специализирует С++, нет?

Пользователь 629ad
Наоборот ведь, иначе будет одна полиморфная функци...

ну он попытается, чтоб не была одна полиморфная функция, возможно много раз

A64m AL256m qn<cores> I0
ну он попытается, чтоб не была одна полиморфная фу...

Если функции в разных модулях, то и пытаться не должен.

A64m AL256m qn<cores> I0
должен, конечно, и будет

> By default, functions are not specialised across modules. Только если поменлось что-то за 3 года. https://wiki.haskell.org/Inlining_and_Specialisation

Пользователь 629ad
> By default, functions are not specialised across...

это не соотвествует действительности, для функций определенных (настройками) размеров будут сохранятся развертки, даже если они не помечены инлайнабл/инлайн, ну и они часто помечены этими прагмами

A64m AL256m qn<cores> I0
это не соотвествует действительности, для функций ...

правда в хедер-файл попадают развертки для неаннотированных функций примерно такого размер, который инлайнится, так что технически это корретно, как таковой специализированной функции не будет, будет ее заинлайненое тело

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта