Cache parsed components for 10x faster startup (2s → 200ms)
- Fix O(n²) postprocessing: compute_all_deps/io_refs/hash were called per-file (92x for sx app). Now deferred to single finalize_components() call after all files load. - Add pickle cache in shared/sx/.cache/ keyed by file mtimes+sizes. Cache stores fully-processed Component/Island/Macro objects with deps, io_refs, and css_classes pre-computed. Closures stripped before pickle, rebuilt from global env after restore. - Smart finalization: cached loads skip deps/io_refs recomputation (already in pickle), only recompute component hash. - Fix ~sx-header → ~layouts/header ref in docs-content.sx Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
(defcomp ~docs-content/home-content ()
|
||||
(div :id "main-content" :class "max-w-3xl mx-auto px-4 py-6"
|
||||
(~docs/code :code (highlight (component-source "~sx-header") "lisp"))))
|
||||
(~docs/code :code (highlight (component-source "~layouts/header") "lisp"))))
|
||||
|
||||
(defcomp ~docs-content/docs-introduction-content ()
|
||||
(~docs/page :title "Introduction"
|
||||
|
||||
Reference in New Issue
Block a user