читерим |
[Apr. 20th, 2013|10:57 am] |
несколько волшебных движений пальцами — и акерман в XScheme волшебно отрабатывает за 7.0 вместо 12.5. собственно, соптимизирован некоторый частный вид tail calls. ещё надо привинтить оптимизатор named let.
вообще, любой call пересоздаёт environment. это плохо. в tail call можно не ебать себе мозг и заюзать существующий env. надо только проследить, чтобы env не сбежал в составе какого-нибудь замыкания. в принципе, если нигде нет вызова какой-нибудь функции с нашей внутренней лямбдой, использующей переменные этого окружения, то всё ок. компилятор всей информацией обладает, в принципе.
хотя тут уже просто напрашивается перепись компилятора на самой схеме. но я упорно это делать не хочу. |
|
|
Comments: |
хера себе ты с этой хсхемой возишься Ketmar Dark pushed 00e3f1cf to k8-xscheme/k8-xscheme:master ....2010
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | April 20th, 2013 - 01:43 pm |
---|
| | | (Link) |
|
я её когда-то пилил. потом оставил, потому что временно не нужна стала. сейчас опять нужна — отчего бы снова не улучшить, раз ко двору пришлось? маленькая, стабильная, встраивается без труда. потоки не поддерживает — так это мне и не надо пока.
делать крупные вещи типа переписи GC мне лень, а мелкооптимизации — вполне можно.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | April 20th, 2013 - 01:44 pm |
---|
| | | (Link) |
|
у меня, по ходу, до сих пор некоторые скрипты в системе на ней написаны. так что она и не умирала, просто лапы не дотягивались.
From: | (Anonymous) |
Date: | April 25th, 2013 - 08:00 pm |
---|
| | | (Link) |
|
> 7.0 вместо 12.5. минуты? секунды? какие входные значения?
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | April 26th, 2013 - 08:49 am |
---|
| | | (Link) |
|
да какая разница?
From: | (Anonymous) |
Date: | April 26th, 2013 - 05:51 pm |
---|
| | | (Link) |
|
просто интересно | |