Skip to content

Commit bfb795a

Browse files
committed
Fix link references
1 parent 4b38120 commit bfb795a

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Each operation creates a new observable. Chain them to build sophisticated react
118118

119119
## The Mathematical Guarantee
120120

121-
You don't need to understand category theory to use FynX, but it's what makes FynX reliable: the reactive behavior isn't just validated by examples—it's guaranteed by mathematical necessity. Every reactive program you construct will work correctly because FynX is built on universal properties from category theory (detailed in the [**Mathematical Foundations**](https://off-by-some.github.io/fynx/generation/markdown/mathematical-foundations/)). These aren't abstract concepts for their own sake; they're implementation principles that ensure correctness and enable powerful optimizations.
121+
You don't need to understand category theory to use FynX, but it's what makes FynX reliable: the reactive behavior isn't just validated by examples—it's guaranteed by mathematical necessity. Every reactive program you construct will work correctly because FynX is built on universal properties from category theory (detailed in the [**Mathematical Foundations**](https://off-by-some.github.io/fynx/mathematical/mathematical-foundations/)). These aren't abstract concepts for their own sake; they're implementation principles that ensure correctness and enable powerful optimizations.
122122

123123
FynX satisfies specific universal properties from category theory, guaranteeing correctness:
124124
* **Functoriality**: Transformations with `>>` preserve composition. Your chains work exactly as expected, regardless of how you compose them.
@@ -176,6 +176,15 @@ Running Reactive Fan-out benchmark...
176176
│ ✓ Creates 757K+ observable objects per second │
177177
│ ✓ Average propagation latency: 21μs per dependency link │
178178
╰──────────────────────────────────────────────────────────────────────────────── ╯
179+
180+
⚡ Latency Percentiles
181+
╔═══════════════════╦════════╦════════╦════════╦════════╗
182+
║ Operation ║ p50 ║ p95 ║ p99 ║ p99.9 ║
183+
╠═══════════════════╬════════╬════════╬════════╬════════╣
184+
║ Single Update ║ 4.6μs ║ 6.5μs ║ 10.2μs ║ 15.3μs ║
185+
║ Chain Link ║ 21.1μs ║ 27.4μs ║ 40.1μs ║ 63.3μs ║
186+
║ Fan-out (per dep) ║ 23.8μs ║ 30.9μs ║ 42.8μs ║ 59.5μs ║
187+
╚═══════════════════╩════════╩════════╩════════╩════════╝
179188
```
180189

181190
The library processes over **215,000 state updates per second** and handles reactive graphs with **47,000+ dependent components** updating from a single source change using nothing but pure Python. This speed isn't accidental—it emerges from a categorical optimizer that rewrites your reactive graphs using proven algebraic transformations.
@@ -189,11 +198,11 @@ The library processes over **215,000 state updates per second** and handles reac
189198

190199
Latency remains sub-microsecond for individual updates and averages 21μs per dependency link for complex chain propagation. This predictability matters—reactive systems shouldn't stutter when graphs grow large.
191200

192-
The optimizer details are covered in the [**Mathematical Foundations**](https://off-by-some.github.io/fynx/generation/markdown/mathematical-foundations/) documentation, which explains how FynX achieves this performance through a categorical graph optimizer that automatically applies proven rewrite rules based on functoriality, products, and pullbacks.
201+
The optimizer details are covered in the [**Mathematical Foundations**](https://off-by-some.github.io/fynx/mathematical/mathematical-foundations/) documentation, which explains how FynX achieves this performance through a categorical graph optimizer that automatically applies proven rewrite rules based on functoriality, products, and pullbacks.
193202

194203
## Observables
195204

196-
[Observables](https://off-by-some.github.io/fynx/generation/markdown/observables/) form the foundation—reactive values that notify dependents automatically when they change. Create them standalone or organize them into [Stores](https://off-by-some.github.io/fynx/generation/markdown/stores/):
205+
[Observables](https://off-by-some.github.io/fynx/reference/observable/) form the foundation—reactive values that notify dependents automatically when they change. Create them standalone or organize them into [Stores](https://off-by-some.github.io/fynx/tutorial/stores/):
197206

198207
```python
199208
from fynx import observable, Store

0 commit comments

Comments
 (0)