+class Checkpoint:
+ def __init__(self):
+ self.start_time = time.time()
+ self.checkpoints = []
+
+ def checkpoint(self, s):
+ self.checkpoints.append((s, time.time()))
+
+ def __str__(self):
+ return ('Timing info:\n%s\n' %
+ '\n'.join(['%s: %s' % (d, t - self.start_time) for
+ (d, t) in self.checkpoints]))
+
+checkpoint = Checkpoint()
+
+