-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Performance ( initial load and during editing )
kyle edited this page Feb 14, 2018
·
2 revisions
Problem: Some things are slow Solution: Make them faster!
The ideal solution involves doing the minimal amount of work ( validation,resolving,etc) to render the UI. This includes the validation errors, in the gutter of the editor, etc.
We won't be rewriting the entire codebase, so we need to move one feature ( or sub-set of features ) at a time to acheieve a goal of steadily improving the performance and aligning our selves to a somewhat ideal pipeline.
- Load the YAML into an AST ( stored immutably ), then rework the features to be recursive in design. Then memoize everything.
- Explore rxjs, in case a stream/event based system offers a cleaner/faster way.
Lazily resolve the $refs, instead of fully resolving the definition into an immtable map. We can pull in resolved pieces of the defintion from the validators, render ( and other resolvers ).
- Currently have ( pending release ) UI and resolve using a calling a function ( instead of recieve all the data ) for the piceces of the definition it needs.
- Currently working on the semantic validators. Which still require all $refs to be fully resolved...