Skip to content

Commit 86b8f78

Browse files
speedup optimum-onnx cli
1 parent 60d3fe2 commit 86b8f78

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

optimum/subpackages.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,24 @@ def load_namespace_modules(namespace: str, module: str):
4242
dist_name = dist.metadata["Name"]
4343
if dist_name is None:
4444
continue
45-
if dist_name == f"{namespace}-benchmark":
46-
continue
4745
if not dist_name.startswith(f"{namespace}-"):
4846
continue
47+
if dist_name not in {"optimum-quanto", "optimum-nvidia"}:
48+
# find_spec(optimum.backend.subpackage) loads optimum.backend as well
49+
# which slows down the CLI startup time greatly (e.g. importing optimum.onnx)
50+
# adding this early exit speeds up the cli to the same speed as without subpackages
51+
continue
52+
4953
package_import_name = dist_name.replace("-", ".")
5054
module_import_name = f"{package_import_name}.{module}"
5155
if module_import_name in sys.modules:
5256
# Module already loaded
5357
continue
58+
5459
backend_spec = find_spec(module_import_name)
5560
if backend_spec is None:
5661
continue
62+
5763
try:
5864
imported_module = module_from_spec(backend_spec)
5965
sys.modules[module_import_name] = imported_module

0 commit comments

Comments
 (0)