crypt of decay - новости из-за забора [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

новости из-за забора [May. 25th, 2026|01:03 am]
Previous Entry Add to Memories Tell A Friend Next Entry
мой компилятор оберона научился в инлайнинг. хак, но работает. заодно погонялся с XDS (оптимизирующий компилятор от Excelsior, куча народу делала). мой, сляпаный на коленке за три месяца, медленней XDS примерно в 1.7 раз (любимый всеми тест LINPACK — линейные вычисления). в смысле — сгенерированый код получается медленней, скорость компиляции замерять нет смысла, она у обоих какие-то десятки миллисекунд.

на самом деле мой надо переделать, он станет проще, компилировать будет быстрее, и сгенерёный код тоже станет шустрей. просто мой родился из тестов кодогена, и изначально я не планировал его выращивать до полноценной системы. поэтому там лапша. у меня, к сожалению, сейчас нет сил его переписать нормально, но планы есть. тащемта, на то, чтобы не особо напрягаясь достигнуть уровня XDS (а то и превзойти) — надо месяцев пять-шесть. в одно моё рыло, натурально. с учётом того, что у меня оверхэд на вызовы процедур выше: во-первых, из-за precise GC, во-вторых, из-за автоматического зануления всех локалов, в третьих — потому что у меня в коде ещё и проверки индексов массивов и переполнения целых сидят, я их не отключал (в XDS на этом бенчмарке отключены).

компилятор у меня вполне боевой, я его активно использую для написания всего: от простейших утилит до видеоигорев. как полагается — есть полная Meta, и динамическая загрузка модулей с компиляцией на лету из исходников. около 600 кб исходнокого кода компилирует чуть меньше чем за двести миллисекунд, на старой коре2дуба, в один поток. так что я даже не делал сохранение скомпиленого кода на диск: какой смысл?
Link