define _compile_stateful_components as an external#6198
Conversation
Greptile SummaryThis PR refactors Key observations:
Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["_compile_stateful_components(page_components)"] --> B["Initialize rendered_components: dict[str, None]\nInitialize all_import_dicts: list[ParsedImportDict]"]
B --> C["For each page_component"]
C --> D["get_shared_components_recursive(component, rendered_components, all_import_dicts)"]
D --> E{"For each child\n(depth-first)"}
E --> D
E --> F{"isinstance StatefulComponent\n& references > 1\n& is_prod_mode()"}
F -- No --> G["Skip"]
F -- Yes --> H["Reset rendered_as_shared = False"]
H --> I["Collect dynamic_imports → rendered_components"]
I --> J["Collect custom_code → rendered_components"]
J --> K["Append _get_all_imports → all_import_dicts"]
K --> L["Set rendered_as_shared = True"]
L --> C
C --> M["merge_imports(*all_import_dicts)"]
M --> N["Remove self-referential import"]
N --> O["stateful_components_template(imports, memoized_code)"]
Last reviewed commit: "define _compile_stat..." |
Merging this PR will improve performance by 3.14%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | test_compile_stateful[_stateful_page] |
155.5 µs | 150.7 µs | +3.14% |
Comparing define-_compile_stateful_components-as-an-external (99d59f4) with main (cb91b90)
No description provided.