src/Pure/General/timing.scala
changeset 65597 b408ca224954
parent 64089 10d719dbb3ee
child 65613 cfcafe9824d1
equal deleted inserted replaced
65596:7fffa01b2d2b 65597:b408ca224954
    27             timing.message + " elapsed time")
    27             timing.message + " elapsed time")
    28 
    28 
    29       Exn.release(result)
    29       Exn.release(result)
    30     }
    30     }
    31     else e
    31     else e
       
    32 
       
    33   val encode: XML.Encode.T[Timing] = (t: Timing) =>
       
    34   {
       
    35     import XML.Encode._
       
    36     triple(Time.encode, Time.encode, Time.encode)(t.elapsed, t.cpu, t.gc)
       
    37   }
       
    38 
       
    39   val decode: XML.Decode.T[Timing] = (body: XML.Body) =>
       
    40   {
       
    41     import XML.Decode._
       
    42     val (elapsed, cpu, gc) = triple(Time.decode, Time.decode, Time.decode)(body)
       
    43     Timing(elapsed, cpu, gc)
       
    44   }
    32 }
    45 }
    33 
    46 
    34 sealed case class Timing(elapsed: Time, cpu: Time, gc: Time)
    47 sealed case class Timing(elapsed: Time, cpu: Time, gc: Time)
    35 {
    48 {
    36   def is_zero: Boolean = elapsed.is_zero && cpu.is_zero && gc.is_zero
    49   def is_zero: Boolean = elapsed.is_zero && cpu.is_zero && gc.is_zero