tuned signature (according to ML version);
authorwenzelm
Mon, 28 Nov 2011 20:31:53 +0100
changeset 46535ac6e704dcd12
parent 46534 d32ec2234efc
child 46536 129db1416717
tuned signature (according to ML version);
src/Pure/General/timing.scala
src/Pure/library.scala
     1.1 --- a/src/Pure/General/timing.scala	Mon Nov 28 18:08:07 2011 +0100
     1.2 +++ b/src/Pure/General/timing.scala	Mon Nov 28 20:31:53 2011 +0100
     1.3 @@ -6,6 +6,7 @@
     1.4  
     1.5  package isabelle
     1.6  
     1.7 +
     1.8  object Time
     1.9  {
    1.10    def seconds(s: Double): Time = new Time((s * 1000.0) round)
    1.11 @@ -24,6 +25,21 @@
    1.12    def message: String = toString + "s"
    1.13  }
    1.14  
    1.15 +
    1.16 +object Timing
    1.17 +{
    1.18 +  def timeit[A](message: String)(e: => A) =
    1.19 +  {
    1.20 +    val start = java.lang.System.currentTimeMillis()
    1.21 +    val result = Exn.capture(e)
    1.22 +    val stop = java.lang.System.currentTimeMillis()
    1.23 +    java.lang.System.err.println(
    1.24 +      (if (message == null || message.isEmpty) "" else message + ": ") +
    1.25 +        Time.ms(stop - start).message + " elapsed time")
    1.26 +    Exn.release(result)
    1.27 +  }
    1.28 +}
    1.29 +
    1.30  class Timing(val elapsed: Time, val cpu: Time, val gc: Time)
    1.31  {
    1.32    def message: String =
     2.1 --- a/src/Pure/library.scala	Mon Nov 28 18:08:07 2011 +0100
     2.2 +++ b/src/Pure/library.scala	Mon Nov 28 20:31:53 2011 +0100
     2.3 @@ -208,20 +208,6 @@
     2.4      selection.index = 3
     2.5      prototypeDisplayValue = Some("00000%")
     2.6    }
     2.7 -
     2.8 -
     2.9 -  /* timing */
    2.10 -
    2.11 -  def timeit[A](message: String)(e: => A) =
    2.12 -  {
    2.13 -    val start = System.currentTimeMillis()
    2.14 -    val result = Exn.capture(e)
    2.15 -    val stop = System.currentTimeMillis()
    2.16 -    System.err.println(
    2.17 -      (if (message == null || message.isEmpty) "" else message + ": ") +
    2.18 -        Time.ms(stop - start).message + " elapsed time")
    2.19 -    Exn.release(result)
    2.20 -  }
    2.21  }
    2.22  
    2.23