Size: a a a

Compiler Development

2020 January 21

E

Eugene in Compiler Development
Yuriy Syrovetskiy
scheme — (преступная) схема
racket — рэкет, вымогательство
guile — обман
gambit — уловка
у вас какое-то бандитское мышление...
пчела везде видит цветы, муха -- совсем другое...
не надо быть бандитом!
источник

YS

Yuriy Syrovetskiy in Compiler Development
надо быть сталеваром и банкиром, да
источник

МБ

Михаил Бахтерев in Compiler Development
Dmitry Ponyatov
ну да, от фишек ФП _в рантайме_ действительно придется отказаться, иначе код  на императивном языке в кашу превратится
Странные заявления. Фишики ФП и так до runtime не доходят, там же простой ассемблер в итоге.
источник

AZ

Alexandr Zamaraev in Compiler Development
Red Hat развивает JIT-компилятор MIR

В компании Rad Hat ведётся разработка нового легковесного JIT-компилятора MIR, обеспечивающего выполнение кода, предварительно преобразованного в промежуточное представление MIR (Medium Internal Representation, не путать с другим промежуточным представлением MIR (mid-level IR), применяемым в компиляторе Rust). Проект нацелен на предоставление основы для реализации быстрых и компактных интерпретаторов и JIT. Код проекта написан на языке Си и распространяется под лицензией MIT.

https://www.opennet.ru/opennews/art.shtml?num=52223
источник

M

MaxGraey in Compiler Development
кстати насчет этого MIRа. Егоров пишет что на микробенчмарках все хорошо, скорость не менее чем в 3 раза быстрее текущего CRuby, но на реальных приложения таких как RoR все намного печальнее:
https://twitter.com/mraleph/status/1219354299207245824
источник

M

MaxGraey in Compiler Development
Sam Tobin-Hochstadt (занимается racket) так же не впечатлен
источник

DS

Doge Shibu in Compiler Development
MaxGraey
кстати насчет этого MIRа. Егоров пишет что на микробенчмарках все хорошо, скорость не менее чем в 3 раза быстрее текущего CRuby, но на реальных приложения таких как RoR все намного печальнее:
https://twitter.com/mraleph/status/1219354299207245824
А не может быть тут варианта, что рельсы просто обьективно сложно ускорить сами по себе, в силу обширного и слабопредсказуемого для jit'а использования рефлексии повсюду?

Или есть реализации интерпретаторов, где рельсы ощутимо ускоряются?
источник

M

Max in Compiler Development
Этот новый MJIT к CRuby ещё не прикручен (насколько я понял это из оригинального поста), откуда Егорову знать, что там на бенчмарках, а что на RoRе?
источник

AT

Alexander Tchitchigin in Compiler Development
Max
Этот новый MJIT к CRuby ещё не прикручен (насколько я понял это из оригинального поста), откуда Егорову знать, что там на бенчмарках, а что на RoRе?
Как я понял, "старый" MJIT прикручен, а "новый" MIR - нет. Хотя бы потому, что MIR вообще ещё не закончен.
источник

M

Max in Compiler Development
Alexander Tchitchigin
Как я понял, "старый" MJIT прикручен, а "новый" MIR - нет. Хотя бы потому, что MIR вообще ещё не закончен.
Это да, но между старой и новой схемой довольно большая разница, чтобы сразу говорить, что новая "работает только на микробенчмарках"
источник

VK

Val Krylov in Compiler Development
С# в DOS. https://twitter.com/MStrehovsky/status/1218966180104458240 Темы GC и прочего не раскрыты, полагаю с этим никак.
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
о, крутотень
источник

AK

Andrei Kurosh in Compiler Development
отличный пост, перевел на хабр
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
Andrei Kurosh
отличный пост, перевел на хабр
можно линк, пожалуйста?
источник

AK

Andrei Kurosh in Compiler Development
Alex Ф-ф-фэils!🌠︙
можно линк, пожалуйста?
источник

A

Alex Ф-ф-фэils!🌠︙ in Compiler Development
ага, спасибо!
источник

IK

Ivan Kochurkin in Compiler Development
Насколько сложный синтаксис у Ruby? Есть ли в нем синтаксис, в котором парсер может влиять на лексер, т.е. нельзя провести сначала токенизацию, а потом парсинг полученных токенов?
источник

VY

Vasiliy Yorkin in Compiler Development
Ivan Kochurkin
Насколько сложный синтаксис у Ruby? Есть ли в нем синтаксис, в котором парсер может влиять на лексер, т.е. нельзя провести сначала токенизацию, а потом парсинг полученных токенов?
> в котором парсер может влиять на лексер

Там yacc и lex
https://github.com/ruby/ruby/blob/master/lex.c.blt
https://github.com/ruby/ruby/blob/master/parse.y

Не уверен на 100%, но могу предположить, что нет
источник

IK

Ivan Kochurkin in Compiler Development
Предположить что, второй вопрос?
источник

IK

Ivan Kochurkin in Compiler Development
Да, спасибо, это уже видел. Мне интересно, насколько сложно все это дело портировать на ANTLR :)
источник