equal
deleted
inserted
replaced
40 { |
40 { |
41 import XML.Decode._ |
41 import XML.Decode._ |
42 val (elapsed, cpu, gc) = triple(Time.decode, Time.decode, Time.decode)(body) |
42 val (elapsed, cpu, gc) = triple(Time.decode, Time.decode, Time.decode)(body) |
43 Timing(elapsed, cpu, gc) |
43 Timing(elapsed, cpu, gc) |
44 } |
44 } |
|
45 |
|
46 def write(t: Timing): Bytes = |
|
47 if (t.is_zero) Bytes.empty |
|
48 else Bytes(YXML.string_of_body(encode(t))) |
|
49 |
|
50 def read(bs: Bytes): Timing = |
|
51 if (bs.isEmpty) zero |
|
52 else decode(YXML.parse_body(bs.text)) |
45 } |
53 } |
46 |
54 |
47 sealed case class Timing(elapsed: Time, cpu: Time, gc: Time) |
55 sealed case class Timing(elapsed: Time, cpu: Time, gc: Time) |
48 { |
56 { |
49 def is_zero: Boolean = elapsed.is_zero && cpu.is_zero && gc.is_zero |
57 def is_zero: Boolean = elapsed.is_zero && cpu.is_zero && gc.is_zero |