потому что ты делаешь то, что за тебя и так сделает компилятор, т.е. ты пишешь хвостовую рекурсию, которая компилятором преобразуется в итерацию.. зачем!?? если можно сразу написать итерацию, в языке есть такая возможность
я не знаю какие задачи мы рассматриваем, но если нао что-то сделать, чтобы это работало быстро - обычно у всех проблема не в языках, а в алгоритмах и структурах данных