Size: a a a

Scala User Group

2021 January 30

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
Но человек, который ей занимался три года назад ущёл делать типизацию в руби и прогресса никакого нет по этому направлению и будет ли когда-нибудь непонятно
Ясно. Спасибо
источник

AS

Andrey Sugak in Scala User Group
Alexander Galagutskiy
Но в Дотти видел введения специализации
Мертворожденное.
источник

AG

Alexander Galagutski... in Scala User Group
Andrey Sugak
Мертворожденное.
Уже понял
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Скажем так, фундаментальный шаг был сделан при добавлении промежуточного представления tasty, который позволил в принципе делать в будущем автоспециализацию, rewrite rules, инлайнинг внешних зависимостей и т.п.
Но будет ли кто-то этим заниматься пока неизвестно
источник

AS

Aλexander Semenov in Scala User Group
Класснющие, а val (a, b) = ("a", 2) оптимизируется компилятором, или прям создаётся тупл в рантайме и анматчится?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Универсальное ссылочное представление aka стирание типов - это особенность jvm, которая позволила внедрить в scala большое количество фич системы типов.
Сериализация АСТ какого-то ядра в tasty может позволить отыграть часть перфоманса, за счёт которого эти удобства были приобретены, но это дело неблизкого будушего, думаю с 3.2-3.5
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλexander Semenov
Класснющие, а val (a, b) = ("a", 2) оптимизируется компилятором, или прям создаётся тупл в рантайме и анматчится?
Прям создаётся и распаковывается
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Но есть немаленький шанс, что JIT аллоцирует на стеке
источник

AS

Aλexander Semenov in Scala User Group
Oleg ℕizhnik
Прям создаётся и распаковывается
Благодарю. Лучшее комьюнити!
источник

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
Универсальное ссылочное представление aka стирание типов - это особенность jvm, которая позволила внедрить в scala большое количество фич системы типов.
Сериализация АСТ какого-то ядра в tasty может позволить отыграть часть перфоманса, за счёт которого эти удобства были приобретены, но это дело неблизкого будушего, думаю с 3.2-3.5
Это характерно для jvm да, но позиция скалы условная мультиплатформа мол есть и на джаваскрипт порт и нативный.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
потребности нативщины всерьёз никто не рассматривает, в JS то же самое ссылочное представление
источник

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
Прям создаётся и распаковывается
Мне казалось что для людей которые занимаются компиляторами это тривиальная оптимизация
источник

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
потребности нативщины всерьёз никто не рассматривает, в JS то же самое ссылочное представление
Это грустно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alexander Galagutskiy
Мне казалось что для людей которые занимаются компиляторами это тривиальная оптимизация
слишком специфичный кейс, чтобы для него специально что-то делать, при том, что JIT скорее всего и так всё сделает ,что нужно
источник

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
Но есть немаленький шанс, что JIT аллоцирует на стеке
Смотря в какой байт-код выплывет c2 и graal уже в машине может выпилить. По такому же принципу allocation eliminate делается в foreign api incubator при попытке делать сдвиги указателя. Думаю оптимизация должна тут сработать но лучше проверить это
источник

AG

Alexander Galagutski... in Scala User Group
Oleg ℕizhnik
слишком специфичный кейс, чтобы для него специально что-то делать, при том, что JIT скорее всего и так всё сделает ,что нужно
Я понял главное что дальше jvm комьюнити не планирует уходить
источник

a

aλeχknvl in Scala User Group
Такие вещи надо оптимизировать в 1% случаев, чтобы получить 99% перформанса.
источник

a

aλeχknvl in Scala User Group
То, что компилятор этого не делает - конечно глупо
источник

P

Python in Scala User Group
Alexander Galagutskiy
Я понял главное что дальше jvm комьюнити не планирует уходить
В принципе, в Scala Native инвестируют. Про уходить в native пока слишком рано говорить. Пока даже до "использовать" не дошли толком 😅
источник

AG

Alexander Galagutski... in Scala User Group
Python
В принципе, в Scala Native инвестируют. Про уходить в native пока слишком рано говорить. Пока даже до "использовать" не дошли толком 😅
это я уже понял, почему и заинтересовался, что происходит на уровне спеки самой скалы (не учитывая того что ЖВМ бай дефаулт )
источник