Size: a a a

2020 June 01

SS

Slava Sokolovsky in archlinux_ru
М
источник

SS

Slava Sokolovsky in archlinux_ru
Я не помню
источник

SS

Slava Sokolovsky in archlinux_ru
Julian =) Coffee
Мономорфизация это када у тебя есть функция

fn func(x: T) -> R {}

А ты хуяк и начинаешь копипастить это все на все допустимые типы, которые нужны
Я знаю
источник

SS

Slava Sokolovsky in archlinux_ru
Подстановка грубо говоря
источник

JC

Julian =) Coffee in archlinux_ru
Вот это мономорфизация
источник

JC

Julian =) Coffee in archlinux_ru
Это работает очень быстро, потому что возможности оптимизации и инлайнинга просто нереальные.
Но время компиляции и размер бинарь растет на порядок.
источник

q

quavo in archlinux_ru
Ладно, позже почитаю и уточню
источник

q

quavo in archlinux_ru
Ну похоже на полиморфизм
источник

q

quavo in archlinux_ru
Да ...
источник

JC

Julian =) Coffee in archlinux_ru
Полиморфизм это абстракция
источник

JC

Julian =) Coffee in archlinux_ru
А мономорфизация это прям реализация, как она есть
источник

SS

Slava Sokolovsky in archlinux_ru
Julian =) Coffee
Полиморфизм это абстракция
Не задумывался, кстати, они ведь из одного семейства...
источник

JC

Julian =) Coffee in archlinux_ru
В питоне полиморфизм реализуется тем, что у тебя все типы хранят в себе таблицу методов.
А в Расте тем, что у тебя каждый раз копипастится нужная функция. (но можно и как в питоне)
И вот этот процесс этого копипастинга и называется мономорфизацией.
источник

JC

Julian =) Coffee in archlinux_ru
Slava Sokolovsky
Не задумывался, кстати, они ведь из одного семейства...
🌝
источник

q

quavo in archlinux_ru
Julian =) Coffee
В питоне полиморфизм реализуется тем, что у тебя все типы хранят в себе таблицу методов.
А в Расте тем, что у тебя каждый раз копипастится нужная функция. (но можно и как в питоне)
И вот этот процесс этого копипастинга и называется мономорфизацией.
Понял
Ну надо закрепить будет позже
источник

SS

Slava Sokolovsky in archlinux_ru
Julian =) Coffee
В питоне полиморфизм реализуется тем, что у тебя все типы хранят в себе таблицу методов.
А в Расте тем, что у тебя каждый раз копипастится нужная функция. (но можно и как в питоне)
И вот этот процесс этого копипастинга и называется мономорфизацией.
Втейбл
источник

JC

Julian =) Coffee in archlinux_ru
Он, да.
источник

JC

Julian =) Coffee in archlinux_ru
Или она)0)
источник

q

quavo in archlinux_ru
Таблица да
источник

JC

Julian =) Coffee in archlinux_ru
Хотя я когда про vtable узнал, я чет нихуя не понял зачем это.
источник