История изменений
Исправление monk, (текущая версия) :
Объединил вручную.
(define (test)
(letrec ([oddp (lambda (x)
(if (zero? x) #f
(let ([x (unsafe-fx- x 1)])
(if (zero? x) #t (oddp (unsafe-fx- x 1))))))])
(oddp 400000000)))
Теперь не в 5, а в 4 раза медленнее, чем SBCL. Хотя теперь отличие только в развёртке циклов.
Исходная версия monk, :
Объединил вручную.
(define (test)
(letrec ([oddp (lambda (x)
(if (zero? x) #f
(let ([x (unsafe-fx- x 1)])
(if (zero? x) #t (oddp (unsafe-fx- x 1))))))])
(oddp 400000000)))
Теперь на в 5, а в 4 раза медленнее, чем SBCL. Хотя теперь отличие только в развёртке циклов.