From 3b9e23a7b6ab9d3628759c3fbaf625f10803e911 Mon Sep 17 00:00:00 2001 From: Keisuke Nishida Date: Wed, 21 Mar 2001 02:25:48 +0000 Subject: [PATCH] * time.scm (time): Reimplemented as a procedure call. (Thanks to Marius Vollmer) --- ice-9/ChangeLog | 5 +++++ ice-9/time.scm | 25 ++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index 634277778..1625cf35b 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,8 @@ +2001-03-20 Keisuke Nishida + + * time.scm (time): Reimplemented as a procedure call. + (Thanks to Marius Vollmer) + 2001-03-20 Keisuke Nishida * safe-r5rs.scm (list): Export. diff --git a/ice-9/time.scm b/ice-9/time.scm index 0be666cd5..828b2d5c1 100644 --- a/ice-9/time.scm +++ b/ice-9/time.scm @@ -21,20 +21,23 @@ :use-module (ice-9 format) :export (time)) -(define-macro (time form) +(define (time-proc proc) (let* ((gc-start (gc-run-time)) - (tms-start (times)) - (result (eval form (interaction-environment))) - (tms-end (times)) - (gc-end (gc-run-time))) + (tms-start (times)) + (result (proc)) + (tms-end (times)) + (gc-end (gc-run-time))) (define (get proc start end) (/ (- (proc end) (proc start)) internal-time-units-per-second)) (display "clock utime stime cutime cstime gctime\n") (format #t "~5,2F ~5,2F ~5,2F ~6,2F ~6,2F ~6,2F\n" - (get tms:clock tms-start tms-end) - (get tms:utime tms-start tms-end) - (get tms:stime tms-start tms-end) - (get tms:cutime tms-start tms-end) - (get tms:cstime tms-start tms-end) - (get id gc-start gc-end)) + (get tms:clock tms-start tms-end) + (get tms:utime tms-start tms-end) + (get tms:stime tms-start tms-end) + (get tms:cutime tms-start tms-end) + (get tms:cstime tms-start tms-end) + (get id gc-start gc-end)) result)) + +(define-macro (time exp) + `(,time-proc (lambda () ,exp))) -- 2.20.1