matthewp / corset

Declarative data bindings, bring your own backend.

Home Page:https://corset.dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Performance

matthewp opened this issue · comments

These are the levers to pull:

  • querySelectorAll
    • Currently this happens on every update. How can we limit this to only when something has changed? Things that can invalidate qSA:
      • attr
      • class-toggle
      • each
      • attach-template
  • Dirty check to see if values have changed.
    • Insertions need to be checked every time.
    • var() needs to be checked when a dependent query changes.
  • matches
    • Similar to the qSA problem, checked on every render. Should skip if there isn't an invalidation.

Most of these have been implemented (just not selector specificity). Will create another issue to benchmark.