LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.

Кстати, пока читал про Lisp, понял что там хвостовая рекурсия намного более применима из за GC, не надо вызывать деструкторы в конце функции, после финального вызова который можно оптимизировать. Правда я так и не понял, почему все еще требуется превращать обычные рекурсии в хвостовые руками, где сила редактирования AST?

Исправление MOPKOBKA, :

В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.

Кстати, пока читал про Lisp, понял что там хвостовая рекурсия намного более применима из за GC, не надо вызывать деструкторы в конце функции, после финального вызова который можно оптимизировать.

Исходная версия MOPKOBKA, :

В таком случае надо заранее аллоцировать, и использовать свой алокатор внутри этого массива, что положительно скажется на кеше. Либо вести массив указателей на ноды. Ну и аппаратный стек всегда можно заменить программным.