perf: reduce attribute access in setup_module_map

This commit is contained in:
Sagar Vora 2025-03-20 08:28:33 +05:30
parent f51f175ad2
commit d82a1a443c

View file

@ -1416,38 +1416,42 @@ def setup_module_map(include_all_apps: bool = True) -> None:
:return: Nothing
"""
if include_all_apps:
local.app_modules = cache.get_value("app_modules")
app_modules = cache.get_value("app_modules")
else:
local.app_modules = client_cache.get_value("installed_app_modules")
app_modules = client_cache.get_value("installed_app_modules")
if not app_modules:
app_modules = {}
if not local.app_modules:
local.app_modules = {}
if include_all_apps:
apps = get_all_apps(with_internal_apps=True)
else:
apps = get_installed_apps(_ensure_on_bench=True)
for app in apps:
local.app_modules.setdefault(app, [])
app_modules.setdefault(app, [])
for module in get_module_list(app):
module = scrub(module)
local.app_modules[app].append(module)
app_modules[app].append(module)
if include_all_apps:
cache.set_value("app_modules", local.app_modules)
cache.set_value("app_modules", app_modules)
else:
client_cache.set_value("installed_app_modules", local.app_modules)
client_cache.set_value("installed_app_modules", app_modules)
# Init module_app (reverse mapping)
local.module_app = {}
for app, modules in local.app_modules.items():
module_app = {}
for app, modules in app_modules.items():
for module in modules:
if module in local.module_app:
if module in module_app:
warnings.warn(
f"WARNING: module `{module}` found in apps `{local.module_app[module]}` and `{app}`",
f"WARNING: module `{module}` found in apps `{module_app[module]}` and `{app}`",
stacklevel=1,
)
local.module_app[module] = app
module_app[module] = app
local.app_modules = app_modules
local.module_app = module_app
def get_file_items(path, raise_not_found=False, ignore_empty_lines=True):