You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the tracking issue for the Single Pass Compiler (SPC) initiative — a ground-up rearchitecture of Reflex's compilation pipeline from a multi-pass, multi-threaded design to a single-pass, plugin-based architecture.
Goals
Replace the current multi-pass tree walks with a single-pass plugin pipeline
Make Component effectively immutable after construction
Introduce a CompilerPlugin protocol with well-defined hooks and context objects
Enable selective page recompilation and caching for faster dev iteration
Replace StatefulComponent auto-memoization with rx._x.memo-based approach
Overview
This is the tracking issue for the Single Pass Compiler (SPC) initiative — a ground-up rearchitecture of Reflex's compilation pipeline from a multi-pass, multi-threaded design to a single-pass, plugin-based architecture.
Goals
Componenteffectively immutable after constructionCompilerPluginprotocol with well-defined hooks and context objectsStatefulComponentauto-memoization withrx._x.memo-based approachSub-Issues
Core Architecture
App._compile()and remove multi-pass tree walksComponent Model
rx._x.memo-based approachPerformance & Caching
Cleanup
Compiler Output Improvements
rx.memocomponents and output to mirrored Python pathsmodule_codefield to VarData #6219 — Addmodule_codefield to VarDataFuture Investigation