Skip to content

benchmark #6

@milahu

Description

@milahu

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions