❌

Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

What is O(k) Reactivity?

18 August 2026 at 02:01

Most reactivity is O(n). O(k) reactivity isΒ O(k).

When you mutate one piece of state, the system should only do work proportional to how many things actually depend on itβ€Šβ€”β€Šnot the size of the wholeΒ graph.

cost(mutation) = O(k)   where k = |affected frontier|cost(mutation) = O(n)   where n = |entire graph|  ← React, Zustand, most stores

That’s it.

The Equations

O(n) vsΒ O(k)

O(n): You change price. The framework scans 3000 components/nodes to find who usesΒ price.

O(k): You change price. The runtime jumps directly to the 3 nodes that depend on price. It never sees the otherΒ 2997.

How

Inverted Dependency Indexing.

Inverted Dependency Indexing

Instead of storing derived β†’ sources, we maintain:

source path β†’ set of dependent derived paths

On write toΒ p:

T(Ξ”p) = O(|Reach_D(p)| + C_eval)

We follow the frontier, we don’tΒ scan.

Why itΒ matters

Because explainability becomesΒ free.

InΒ .me:

me['!'].explain('order.total')// β†’ { value, expr, inputs, dependsOn, recomputed, sourcePath }

Returning the computation trace is a lookup over the indexβ€Šβ€”β€Šnot a secondΒ pass.

Benchmark (3000 nodes, 300 mutations):

  • baseline p95:Β 0.0122ms
  • with explain() p95:Β 0.0189ms
  • overhead: +0.007ms

Faithful trace for 7 microseconds because k <<Β n.

The formula

I = (path, ciphertext, T, A, C)k = |Reach_D(p)|cost = O(k)

Readability (A) is not topology (T). Capability (C) is not identity. And cost is notΒ size.

Go deeper

O(k) is not an optimization. It’s a different complexity class.

What isΒ O(K)?

What is O(k) Reactivity? was originally published in Coinmonks on Medium, where people are continuing the conversation by highlighting and responding to this story.

❌
❌