Здравствуйте, VladD2, Вы писали:
R>>Какое быстродействие. VD>Обычное.
С какой стати быстродействие-то? где в Си или Яве используется хвостовая рекурсия для итераций.
и где им увеличит быстродействие раскрутка хвостовой рекурсии.
VD>Пофигу куда что входит. Для ФЯ эта оптимизация жизненно-важна, вот и додумался народ упомянуть о ней в стандарте. Попробуй найти ИЯ в котором такое же упоминание найдется.
Это не оптимизация. Это требование существования. Продолжать здесь спорить я не буду. Вопрос закрыт.
R>>в случае со scheme и haskell, например, это "уменьшение быстродействия" приведет к неработоспособному коду R>>вот и все.
VD>С чего бы это? Если ты о линивости, то это несколько другая песня.
Потому что у хаскеля нет циклов. При любой рекурсии он тогда начнет вылетать со stack overflow.
R>>а то так можно назвать оптимизацией сам факт компиляции вместо интерпретации кода на месте — тоже ведь повышаем быстродействие.
VD>Ненадо излишней философии. Мы говорим об оптимизациях в компиляторах. Ни один интерпретатор на вычислительных задачах и рядом не встанет с компилятором.
Я не понял только при чем тут раскрутка хвостовой рекурсии. Почему в java ее нет до сих пор?
R>>инлайнинг — тоже требует анализа того, что это сделать можно. потому что не каждая функция может быть заинлайнена. VD>Заинлайнина может быть любая функция. Другое дело, что иногда кроме этого нужно оставлять тело метода. Но это детали. Какое это отношение имеет к делу?
прошу показать инлайнинг рекурсивной функции задаром.
VD>Ты утверждашь, что замена рекурсии итерацией не оптимизация. Почему же тогда это не делается почти во всех компиляторах ИЯ?
потому что там есть циклы.
R>>потому у окамла и плохо с этим, кстати. VD>У Окамла плохо не с этим. У него плохо с тем кто пишет бэкэнд компилятора. Хотя я бы назвал это даже не плохо, а так... "не супер". Все же он генерирует довольно приличный код. У Окамла есть куда больше идеологических проблем вроде ориентации на списки. Тут уже потрбеются алгоритмические оптимизации которые куда как сложнее в реализации.
Ориентация на что у окамла? на списки?
На какие еще списки? где у него такая ориентация?