История изменений
Исправление
MOPKOBKA,
(текущая версия)
:
В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.
Кстати, пока читал про Lisp, понял что там хвостовая рекурсия намного более применима из за GC, не надо вызывать деструкторы в конце функции, после финального вызова который можно оптимизировать. Правда я так и не понял, почему все еще требуется превращать обычные рекурсии в хвостовые руками, где сила редактирования AST?
Исправление
MOPKOBKA,
:
В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.
Кстати, пока читал про Lisp, понял что там хвостовая рекурсия намного более применима из за GC, не надо вызывать деструкторы в конце функции, после финального вызова который можно оптимизировать.
Исходная версия
MOPKOBKA,
:
В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.