src/Pure/General/timing.ML
changeset 51228 dff3471dd8bc
parent 51217 65ab2c4f4c32
child 51606 2843cc095a57
--- a/src/Pure/General/timing.ML	Wed Feb 20 13:03:50 2013 +0100
+++ b/src/Pure/General/timing.ML	Wed Feb 20 15:22:22 2013 +0100
@@ -16,12 +16,11 @@
 sig
   include BASIC_TIMING
   type timing = {elapsed: Time.time, cpu: Time.time, gc: Time.time}
-  val zero: timing
-  val add: timing -> timing -> timing
   type start
   val start: unit -> start
   val result: start -> timing
   val timing: ('a -> 'b) -> 'a -> timing * 'b
+  val is_relevant_time: Time.time -> bool
   val is_relevant: timing -> bool
   val message: timing -> string
 end
@@ -33,13 +32,6 @@
 
 type timing = {elapsed: Time.time, cpu: Time.time, gc: Time.time};
 
-val zero = {elapsed = Time.zeroTime, cpu = Time.zeroTime, gc = Time.zeroTime};
-
-fun add (t1: timing) (t2: timing) =
- {elapsed = Time.+ (#elapsed t1, #elapsed t2),
-  cpu = Time.+ (#cpu t1, #cpu t2),
-  gc = Time.+ (#gc t1, #gc t2)};
-
 
 (* timer control *)
 
@@ -82,10 +74,12 @@
 
 val min_time = Time.fromMilliseconds 1;
 
+fun is_relevant_time time = Time.>= (time, min_time);
+
 fun is_relevant {elapsed, cpu, gc} =
-  Time.>= (elapsed, min_time) orelse
-  Time.>= (cpu, min_time) orelse
-  Time.>= (gc, min_time);
+  is_relevant_time elapsed orelse
+  is_relevant_time cpu orelse
+  is_relevant_time gc;
 
 fun message {elapsed, cpu, gc} =
   Time.toString elapsed ^ "s elapsed time, " ^