Skip to content

Commit fd8f411

Browse files
committed
docs(benchmark): record dve 0.1.1 view results
- Add dve engine version and switch runtime to deno 2.9.0 - Note the dve 0.1.1 render pipeline in the results intro - Update json baseline and view route numbers from the 30s runs - Update the views takeaway for the recovered each and include paths
1 parent c999d31 commit fd8f411

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

benchmark/README.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,35 +78,38 @@ npx autocannon http://localhost:8000/test -c 500 -p 10 -d 30
7878
- **OS**: macOS 26.5
7979
- **Machine**: Apple M3 Pro, 18 GB RAM
8080
- **Framework**: Deserve (0.15.0)
81-
- **Runtime**: Deno 2.8.3 (V8 14.9.207.2, TypeScript 6.0.3)
81+
- **Engine**: DVE (0.1.1)
82+
- **Runtime**: Deno 2.9.0 (aarch64-apple-darwin)
8283
- **Config**: 500 connections, pipelining 10, duration 30s
8384

84-
## Results - Deno 2.8.3
85+
## Results - Deno 2.9.0, DVE 0.1.1
8586

8687
`/test` and all view routes are 3 runs each, same machine and config. View
8788
results reflect the include source-text cache (an included partial is read
88-
from disk once and reused, instead of a blocking read per request).
89+
from disk once and reused, instead of a blocking read per request) together
90+
with the DVE 0.1.1 render pipeline (prepared expressions, pre-split paths,
91+
loop scope reuse, and the sink writer).
8992

9093
### JSON + CPU
9194

9295
| Route | Test 1 | Test 2 | Test 3 | Req/Sec (avg) | Latency (avg) |
9396
| ------- | ------- | ------- | ------- | ------------- | ------------- |
94-
| `/test` | 188,949 | 192,243 | 193,169 | 191,454 | 25.63 ms |
97+
| `/test` | 199,791 | 198,669 | 198,985 | 199,148 | 24.61 ms |
9598

9699
Takeaway: JSON baseline throughput on the main thread.
97100

98101
### Views (DVE Rendering Baseline)
99102

100103
| Route | Test 1 | Test 2 | Test 3 | Req/Sec (avg) | Latency (avg) |
101104
| ---------------------- | ------- | ------- | ------- | ------------- | ------------- |
102-
| `/test-view` | 141,670 | 143,979 | 144,439 | 143,363 | 34.37 ms |
103-
| `/test-view-each-meta` | 6,501 | 6,424 | 6,414 | 6,446 | 765.48 ms |
104-
| `/test-view-include` | 123,678 | 123,836 | 122,950 | 123,488 | 39.98 ms |
105-
| `/test-view-expr` | 87,439 | 87,831 | 87,919 | 87,730 | 56.46 ms |
106-
107-
Takeaway: `/test-view-include` now runs close to the include-free
108-
`/test-view` baseline. Caching the include source removes the per-request
109-
blocking disk read that previously made composed templates far slower.
105+
| `/test-view` | 157,039 | 157,350 | 154,167 | 156,186 | 31.51 ms |
106+
| `/test-view-each-meta` | 28,173 | 28,367 | 28,425 | 28,322 | 175.59 ms |
107+
| `/test-view-include` | 133,275 | 131,987 | 133,453 | 132,905 | 37.12 ms |
108+
| `/test-view-expr` | 145,139 | 143,403 | 144,670 | 144,404 | 34.12 ms |
109+
110+
Takeaway: `each` and `include` recovered from the engine extraction. The DVE
111+
0.1.1 render pipeline lifts `each-meta` and expressions well past the earlier
112+
numbers, and `include` runs close to the include-free `/test-view` baseline.
110113

111114
## Observability Cost (Logging On vs Off)
112115

0 commit comments

Comments
 (0)