crypt of decay - April 20th, 2013 [entries|archive|friends|userinfo]
ketmar

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

April 20th, 2013

читерим [Apr. 20th, 2013|10:57 am]
несколько волшебных движений пальцами — и акерман в XScheme волшебно отрабатывает за 7.0 вместо 12.5. собственно, соптимизирован некоторый частный вид tail calls. ещё надо привинтить оптимизатор named let.

вообще, любой call пересоздаёт environment. это плохо. в tail call можно не ебать себе мозг и заюзать существующий env. надо только проследить, чтобы env не сбежал в составе какого-нибудь замыкания. в принципе, если нигде нет вызова какой-нибудь функции с нашей внутренней лямбдой, использующей переменные этого окружения, то всё ок. компилятор всей информацией обладает, в принципе.

хотя тут уже просто напрашивается перепись компилятора на самой схеме. но я упорно это делать не хочу.
Link6 meows|meow!

хм [Apr. 20th, 2013|01:06 pm]
оптимизатор named let ускорил циклы раз в 7. ну, это на чисто пустом цикле, понятно, на реальных самортизируется. но всё равно гуд.
Linkmeow!

navigation
[ viewing | April 20th, 2013 ]
[ go | Previous Day|Next Day ]