Performance: Readable stores
MEDIUM IMPACT
Readable stores affect how reactive data updates propagate to the UI, impacting interaction responsiveness and rendering efficiency.
import { readable } from 'svelte/store'; const store = readable(0, set => { let value = 0; const interval = setInterval(() => { const newValue = computeValue(); if (newValue !== value) { value = newValue; set(value); } }, 1000); return () => clearInterval(interval); });
import { writable } from 'svelte/store'; const store = writable(0); // Components subscribe directly and update frequently even if data is unchanged store.set(0); // triggers update even if value is same
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Writable store with frequent redundant updates | High (many subscriber callbacks) | Multiple per update | High due to repeated repaints | [X] Bad |
| Readable store with conditional updates | Low (only on value change) | Single or minimal | Low due to fewer repaints | [OK] Good |