You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(benchmarks): fix accuracy issues and sync with codebase
- Correct GitHub repo link (vuetifyjs/v0 → vuetifyjs/0)
- Add 4 missing composables to What Gets Benchmarked table
- Fix title/meta/keywords (remove "size ratings")
- Update complexity detection table to match actual detectComplexity() regex
- Fix example output name ("Get item by id" → "Get by id")
- Fix Explorer description to reflect commented-out filter/search
- Lower level from 3 to 2 (no v0 internals required)
- Sort helpers to end of BenchmarkExplorer composable list
Copy file name to clipboardExpand all lines: apps/docs/src/pages/guide/fundamentals/benchmarks.md
+16-11Lines changed: 16 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Benchmarks - Performance Metrics and Size Ratings
2
+
title: Benchmarks - Performance Metrics and Tiers
3
3
features:
4
4
order: 5
5
-
level: 3
5
+
level: 2
6
6
meta:
7
7
- name: description
8
-
content: Understand Vuetify0 benchmark methodology, performance tiers, and size ratings. Learn what gets benchmarked and how to interpret metrics.
8
+
content: Understand Vuetify0 benchmark methodology, performance tiers, and how to interpret results. Learn what gets benchmarked and how metrics are calculated.
@@ -35,11 +35,15 @@ Headless UI libraries must be fast—they're foundational infrastructure. v0 ben
35
35
| Composable | Why It's Benchmarked |
36
36
| - | - |
37
37
|`createRegistry`| Foundation for all collections—performance here affects everything |
38
+
|`createModel`| Value store underlying all selection—selection benchmarks depend on it |
38
39
|`createSelection`| Base for all selection patterns—select, toggle, mandatory, batch |
40
+
|`createNested`| Hierarchical trees with cascade—tree traversal scales with depth |
39
41
|`createTokens`| Design tokens can grow large—alias resolution must scale |
40
42
|`createFilter`| Search/filter on large datasets must remain responsive |
41
43
|`createVirtual`| Virtual scrolling is performance-critical by definition |
44
+
|`createDataTable`| Composed orchestrator—measures sorting, filtering, and pagination together |
42
45
|`useDate`| Date operations are frequent in UIs |
46
+
|`useProxyRegistry`| Reactive proxy for templates—shows reactivity overhead vs raw registry |
43
47
44
48
### Operation Categories
45
49
@@ -115,17 +119,18 @@ Tiers adjust based on detected algorithmic complexity:
115
119
116
120
| Pattern in Benchmark Name | Complexity |
117
121
| - | - |
118
-
| "single item", "single query" | O(1) |
119
-
| "1,000 items", "all keys" | O(n) |
120
-
| "nested", "recursive" | O(n²) |
122
+
| "single" or "one item/query/key" | O(1) |
123
+
| Number + items/objects/entries/elements | O(n) — default for most benchmarks |
124
+
| "nested" or "recursive" | O(n²) |
125
+
| No pattern matched | O(n) — conservative fallback |
121
126
122
127
### Reading Results
123
128
124
129
```bash
125
130
✓ createRegistry/index.bench.ts
126
131
lookup operations
127
-
✓ Get item by id (1,000 items) 1,234,567 ops/s
128
-
✓ Get item by id (10,000 items) 1,198,432 ops/s
132
+
✓ Get by id (1,000 items) 1,234,567 ops/s
133
+
✓ Get by id (10,000 items) 1,198,432 ops/s
129
134
```
130
135
131
136
-**ops/s** — Operations per second (higher is better)
@@ -195,7 +200,7 @@ Compare `createRegistry` benchmarks with `useProxyRegistry` to see the reactivit
195
200
196
201
## Explorer
197
202
198
-
Browse all benchmark results. Filter by composable, performance tier, or search for specific operations.
203
+
Browse all benchmark results. Select a composable to filter, or expand groups to compare individual operations.
199
204
200
205
<BenchmarkExplorer />
201
206
@@ -208,4 +213,4 @@ New composables should include benchmarks if they:
208
213
- Have user-perceived latency (loading, transitions)
209
214
- Are called frequently (every render, every keystroke)
210
215
211
-
See [createRegistry benchmarks](https://github.com/vuetifyjs/v0/blob/master/packages/0/src/composables/createRegistry/index.bench.ts) for the canonical example.
216
+
See [createRegistry benchmarks](https://github.com/vuetifyjs/0/blob/master/packages/0/src/composables/createRegistry/index.bench.ts) for the canonical example.
0 commit comments