home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / 1991 / 08 / xscheme / bench.s next >
Text File  |  1991-05-16  |  774b  |  34 lines

  1. ; Assuming that the name of the XScheme executable file is:
  2. ;    xs_xxx
  3. ; you can run the benchmark by typing:
  4. ;    xs_xxx bench.s
  5. ; from the DOS prompt.  If the executable uses the PharLap DOS
  6. ; extender, type:
  7. ;    run386 xs_xxx bench.s
  8. ; instead
  9. ;
  10. (define (bench expr)
  11.   (let ((gc-start (gc))
  12.     (start (time)))
  13.     (eval expr)
  14.     (let ((end (time))
  15.       (gc-end (gc)))
  16.       (write expr)
  17.       (display ", elapsed time: ")
  18.       (write (difftime end start))
  19.       (display ", gc calls: ")
  20.       (write (- (car gc-end) (car gc-start) 1))
  21.       (display ", memory: ")
  22.       (write (list-ref gc-end 5))
  23.       (newline))))
  24.  
  25. (define (fib n)
  26.   (cond ((= n 0) 0)
  27.     ((= n 1) 1)
  28.     (else (+ (fib (- n 1))
  29.              (fib (- n 2))))))
  30.  
  31. (bench '(fib 25))
  32.  
  33. (exit)
  34.