LINUX.ORG.RU

UnladenSwallow работа с памятью


0

0

Кто-нибудь смотрел как сабж работает с памятью? Копать исходники лень, но видно всё же придётся.

Суть вопроса в том, что сборщик(и) мусора поддерживается на уровне LLVM, но никто не мешает разработчикам фронтенда изобрести свой собственный велосипед.

Иными словами, команда UnladenSwallow сильно заморочены велосипедостроительством или не очень?

ЗЫ: Питон не нужен, нужно посмотреть как умные люди компилируют динамические языки. Лучшего примера не нашел.


> ЗЫ: Питон не нужен, нужно посмотреть как умные люди компилируют динамические языки. Лучшего примера не нашел.

Плохо искал. Лучший на сегодня пример - V8.

anonymous
()

Плохо искал. Лучший на сегодня пример - PyPy.

tailgunner ★★★★★
()

Плохо искал. Лучший на сегодня пример - $your_favourite_language_name + GNU Lightning

yoghurt ★★★★★
()
Ответ на: комментарий от anonymous

SBCL отстойный пример. Язык не настолько динамический, и компилятор не делает ничего для удаления оверхеда от динамичности.

anonymous
()
Ответ на: комментарий от yoghurt

> ЩИТО?

И то, что есть опциональные декларации типов. И для приличной производительности они обязательны. Тогда как в JS вообще никаких для этого фичей нет. И V8 вынужден выводить типы самостоятельно. Это значительно более умный компилятор, чем SBCL.

anonymous
()
Ответ на: комментарий от anonymous

> И то, что есть опциональные декларации типов. И для приличной производительности они обязательны. Тогда как в JS вообще никаких для этого фичей нет. И V8 вынужден выводить типы самостоятельно. Это значительно более умный компилятор, чем SBCL.

Ты не поверишь, SBCL сам выводит типы, и опциональные декларации значительно на сложность компилятора не влияют, точнее они практически никак не влияют. Кроме того отстойный SBCL даже без деклараций генерит в несколько раз более быстрый код, чем JS и python.

anonymous
()
Ответ на: комментарий от anonymous

> Ты не поверишь, SBCL сам выводит типы, и опциональные декларации значительно на сложность компилятора не влияют, точнее они практически никак не влияют. Кроме того отстойный SBCL даже без деклараций генерит в несколько раз более быстрый код, чем JS и python.

Увы, это не так. Если писать на Лиспе в настолько динамическом стиле, как это принято в JS (то есть - везде хеш-таблицы, prototype-based OO, и все прочие прелести динамики), то код будет генериться преотстойнейший.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.