mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 06:58:56 +00:00
#1153 draw.py timing
This commit is contained in:
@@ -312,8 +312,21 @@ 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()
|
||||||
|
|
||||||
parser.add_argument("files", type=str, nargs="+")
|
parser.add_argument("files", type=str, nargs="+")
|
||||||
@@ -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}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user