summaryrefslogtreecommitdiffstats
path: root/bench.scm
diff options
context:
space:
mode:
authorLaMont Jones <lamont@debian.org>2003-05-07 08:36:40 -0600
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:27 -0800
commite21d47d7813159bb71e0671df9b52ec0470c358d (patch)
tree3c7770ea846123c291f599044e9f234ac17616bb /bench.scm
parent8cfce36c6a4fc2e0a0ab6ef2db66a23cbe462693 (diff)
parentdeda2c0fd8689349fea2a900199a76ff7ecb319e (diff)
downloadscm-e21d47d7813159bb71e0671df9b52ec0470c358d.tar.gz
scm-e21d47d7813159bb71e0671df9b52ec0470c358d.zip
Import Debian changes 5d6-3.2debian/5d6-3.2
scm (5d6-3.2) unstable; urgency=low * Fix hppa compile. Closes: #144062 scm (5d6-3.1) unstable; urgency=low * NMU with patch from James Troup, to fix FTBFS on sparc. Closes: #191171 scm (5d6-3) unstable; urgency=low * Add build depend on xlibs-dev (Closes: #148020) scm (5d6-2) unstable; urgency=low * Remove libregexx-dev from build-depends. * Change build to use ./scmlit rather than scmlit (should fix some build problems) (looks like alpha is mostly building) * New release (Closes: #140175) * Built with turtlegraphics last time (Closes: #58515) scm (5d6-1) unstable; urgency=low * New upstream. * Add xlib and turtlegr to requested list of features. (closes some bug) * Make clean actually clean most everything up. * Remove hacks renaming build to something else and just set build as a .PHONY target in debian/rules. * Add the turtlegr code. scm (5d5-1) unstable; urgency=low * New upstream * Has fixes for 64 bit archs. May fix alpha compile problem. Does fix (Closes: #140175) * Take out -O2 arg. scm (5d4-3) unstable; urgency=low * Don't link with regexx, but just use libc6's regular expression functions. * Define (terms) to output /usr/share/common-licenses/GPL (Closes: #119321) scm (5d4-2) unstable; urgency=low * Add texinfo to build depends (Closes: #107011) scm (5d4-1) unstable; urgency=low * New upstream release. * Move install-info --remove to prerm. scm (5d3-5) unstable; urgency=low * Move scm info files to section "The Algorithmic Language Scheme" to match up with guile. scm (5d3-4) unstable; urgency=low * Fix build depends (Closes: #76691) scm (5d3-3) unstable; urgency=low * Fix path in scm dhelp file. scm (5d3-2) unstable; urgency=low * Actually put the header files in the package. Oops. scm (5d3-1) unstable; urgency=low * New upstream. (Closes: #74761) * Make (terms) use new license location. * Make use libregexx rather than librx. * Fix build depends for above. * Using new regex lib seems to fix crash (Closes: #66787) * Consider adding scm-dev package with headers, but instead just add the headers to the scm package. (Closes: #70787) * Add doc-base support.
Diffstat (limited to 'bench.scm')
-rw-r--r--bench.scm34
1 files changed, 17 insertions, 17 deletions
diff --git a/bench.scm b/bench.scm
index 12d7f4b..2d1cc07 100644
--- a/bench.scm
+++ b/bench.scm
@@ -1,4 +1,4 @@
-;; Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc.
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@
;;;; "bench.scm", Scheme benchmark computing digits of pi.
;;; Author: Aubrey Jaffer.
-(require (in-vicinity (implementation-vicinity) "pi.scm"))
+(load (in-vicinity (implementation-vicinity) "pi.scm"))
(require 'transcript)
(define isqrt
(cond ((provided? 'inexact) sqrt)
@@ -51,16 +51,17 @@
(else quotient)))
(define around
(cond ((provided? 'inexact)
- (lambda (x)
- (cond ((>= 3000 (abs x) 3) (inexact->exact (round x)))
+ (lambda (x bnd)
+ (cond ((>= 99999 (abs x) bnd) (inexact->exact (round x)))
+ ((> (abs x) 99999) (round x))
(else x))))
- (else identity)))
+ (else (lambda (x bnd) x))))
(define (time-pi digits)
(let ((start-time (get-internal-run-time)))
(pi digits 4)
(i/ (* 1000 (- (get-internal-run-time) start-time))
- internal-time-units-per-second)))
+ internal-time-units-per-second)))
(define (benchmark . arg)
(define file
@@ -75,22 +76,21 @@
(let* ((avg (i/ (apply + tl) (length tl)))
(dev (isqrt (i/ (apply
+ (map (lambda (x) (* (- x avg) (- x avg)))
- tl))
+ tl))
(length tl)))))
(and file (transcript-on file))
(for-each display
- (list digits " digits took " (around avg) " mSec +/- "
- (around dev) " mSec."))
+ (list digits " digits took " (around avg 99)
+ " +/- " (around dev 3) ".ms"))
(newline)
- (let ((scaled-avg (i/ (* (i/ (* avg 1000) digits) 1000) digits)))
+ (let ((scaled-avg (i/ (* (i/ (* avg 1000) digits) 1000) digits))
+ (scaled-dev (i/ (* (i/ (* dev 1000) digits) 1000) digits)))
(for-each display
- (list " That is about " scaled-avg
- " mSec/k-digit^2 +/- "
- (around
- (i/ (* 100 (i/ (* (i/ (* dev 1000) digits)
- 1000) digits))
- scaled-avg))
- "%."))
+ (list " That is about "
+ (around scaled-avg 99)
+ " +/- "
+ (around scaled-dev 3)
+ ".ms/(kB)^2"))
(newline)
(and file (transcript-off)))
))))))