as expected for such a young project, peroxide is really slow, about 150K times slower than petite-chez
benchmark script from reddit
(define (erato n z primes)
(define (sieve s)
(if (or (null? s) ; prime
(< n (* (car s) (car s)))) ; prime!
(erato (+ n 1) z (append primes (list n)))
(if (zero? (modulo n (car s))) ; composite
(erato (+ n 1) z primes)
(sieve (cdr s)))))
(if (< n z)
(sieve primes)
primes))
(define (primes<2n n)
(erato 2 (* n 2) (list)))
; load and time are not implemented in peroxide
(primes<2n 100)
; 25 seconds on peroxide scheme interpreter
; 0.000167 seconds on petite-chez scheme interpreter
; -> peroxide is about 150K times slower than petite-chez
; (load "erato.scm")
; (define a (time (primes<2n 100000)))
; 2.7 seconds on petite-chez scheme interpreter
; 3.2 seconds on racket scheme interpreter
; 6.9 seconds on gambit scheme interpreter
; 48.3 seconds on chicken scheme interpreter
as expected for such a young project, peroxide is really slow, about 150K times slower than petite-chez
benchmark script from reddit