sclass TimeTaker { volatile long nanos; void start { nanos = nanos(); } long elapsedNanos() { ret nanos()-nanos; } S renderMicroseconds() { long nanos = elapsedNanos(); ret main renderMicroseconds(nanosToMicroseconds(nanos)); } }