MCPcopy Create free account
hub / github.com/Robotics-STAR-Lab/H2-Mapping / Profiler

Class Profiler

mapping/src/utils/profile_util.py:6–36  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4
5
6class Profiler(object):
7 def __init__(self, verbose=False) -> None:
8 self.timer = dict()
9 self.time_log = dict()
10 self.enabled = False
11 self.verbose = verbose
12
13 def enable(self):
14 self.enabled = True
15
16 def disable(self):
17 self.enabled = False
18
19 def tick(self, name):
20 if not self.enabled:
21 return
22 self.timer[name] = time()
23 if name not in self.time_log:
24 self.time_log[name] = list()
25
26 def tok(self, name):
27 if not self.enabled:
28 return
29 if name not in self.timer:
30 return
31 torch.cuda.synchronize()
32 elapsed = time() - self.timer[name]
33 if self.verbose:
34 print(f"{name}: {elapsed * 1000:.2f} ms")
35 else:
36 self.time_log[name].append(elapsed * 1000)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected