import var perf improvements (#4813)

* import var perf improvements

* use tuples over iterator

* the only thing that matters

* maybe tuple map is faster than tuple list comprehension

* do it in one list comprehension
This commit is contained in:
Khaleel Al-Adhami 2025-02-13 15:54:10 -08:00 committed by GitHub
parent aac61c69c2
commit b44bbc81a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -51,13 +51,7 @@ from reflex.event import (
) )
from reflex.style import Style, format_as_emotion from reflex.style import Style, format_as_emotion
from reflex.utils import format, imports, types from reflex.utils import format, imports, types
from reflex.utils.imports import ( from reflex.utils.imports import ImportDict, ImportVar, ParsedImportDict, parse_imports
ImmutableParsedImportDict,
ImportDict,
ImportVar,
ParsedImportDict,
parse_imports,
)
from reflex.vars import VarData from reflex.vars import VarData
from reflex.vars.base import ( from reflex.vars.base import (
CachedVarOperation, CachedVarOperation,
@ -1208,7 +1202,7 @@ class Component(BaseComponent, ABC):
Returns: Returns:
True if the dependency should be transpiled. True if the dependency should be transpiled.
""" """
return ( return bool(self.transpile_packages) and (
dep in self.transpile_packages dep in self.transpile_packages
or format.format_library_name(dep or "") in self.transpile_packages or format.format_library_name(dep or "") in self.transpile_packages
) )
@ -1291,9 +1285,10 @@ class Component(BaseComponent, ABC):
event_imports = Imports.EVENTS if self.event_triggers else {} event_imports = Imports.EVENTS if self.event_triggers else {}
# Collect imports from Vars used directly by this component. # Collect imports from Vars used directly by this component.
var_datas = [var._get_all_var_data() for var in self._get_vars()] var_imports = [
var_imports: List[ImmutableParsedImportDict] = [ var_data.imports
var_data.imports for var_data in var_datas if var_data is not None for var in self._get_vars()
if (var_data := var._get_all_var_data()) is not None
] ]
added_import_dicts: list[ParsedImportDict] = [] added_import_dicts: list[ParsedImportDict] = []