#1153 draw.py timing

This commit is contained in:
Thomas Krijnen
2021-11-20 14:05:53 +01:00
parent a17c44c076
commit 3c41f6b0f8
+22 -3
View File
@@ -312,7 +312,20 @@ def main(settings, files, iterators=None, merge_projection=True, progress_functi
if __name__ == "__main__": if __name__ == "__main__":
import sys import sys
import time
import argparse import argparse
times = []
def measure(task, fn):
t0 = time.time()
r = fn()
dt = time.time() - t0
times.append((task, dt))
return r
def print_progress(*args):
print("\r", *args, " "*10, end="", flush=True)
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@@ -339,6 +352,12 @@ if __name__ == "__main__":
settings = draw_settings(**args) settings = draw_settings(**args)
files = list(map(ifcopenshell.open, files)) files = measure("open files", lambda: list(map(ifcopenshell.open, files)))
open(output, "wb").write(main(settings, files, progress_function=lambda *args: print("\r", *args, " "*10, end="", flush=True))) result = measure("processing", lambda: main(settings, files, progress_function=print_progress))
print("\r Done!", " " * 10) open(output, "wb").write(result)
print("\r Done!", " " * 20)
for t, dt in times:
print(f"{t}: {dt}")