@bepalo/spine 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,24 +20,24 @@ Spine is a low-level routing layer built around the Web `Request`/`Response` API
|
|
|
20
20
|
|
|
21
21
|
( The Router Pipeline )
|
|
22
22
|
|
|
23
|
-
┌───────────────────────┐
|
|
24
|
-
▼ │
|
|
25
|
-
┌──────┴───────┐ │
|
|
26
|
-
┌─────────│ Filters │─────────┐ <request>
|
|
27
|
-
│ └──────┬───────┘ │ │
|
|
28
|
-
│ <no match nor response> │ │
|
|
29
|
-
│ ▼ │ │
|
|
30
|
-
│ ┌──────┴───────┐ │ ┌──┴────────┐
|
|
31
|
-
├─────────│ Handlers │─────────┤ │ Server │◄───┐
|
|
32
|
-
│ └──────┬───────┘ │ └──┬─────┬──┘ │
|
|
33
|
-
│ <no match nor response> │ ▲ │ <request>
|
|
34
|
-
<error> ▼ │ │ <response> │
|
|
35
|
-
│ ┌──────┴───────┐ │ │ ▼ │
|
|
36
|
-
├─────────│ Fallbacks │─────────┤ │ ┌─┴───────┴─┐
|
|
37
|
-
▼ └──────┬───────┘ │ │ │ Client │
|
|
38
|
-
┌─────┴──────┐ │ ┌──<response>─┘ │ └───────────┘
|
|
39
|
-
│ Catchers │ ▼ ▼ │
|
|
40
|
-
└─────┬──────┘ ┌──────┴───┴───┐ │
|
|
23
|
+
┌───────────────────────┐
|
|
24
|
+
▼ │
|
|
25
|
+
┌──────┴───────┐ │
|
|
26
|
+
┌─────────│ Filters │─────────┐ <request>
|
|
27
|
+
│ └──────┬───────┘ │ │
|
|
28
|
+
│ <no match nor response> │ │
|
|
29
|
+
│ ▼ │ │
|
|
30
|
+
│ ┌──────┴───────┐ │ ┌──┴────────┐
|
|
31
|
+
├─────────│ Handlers │─────────┤ │ Server │◄───┐
|
|
32
|
+
│ └──────┬───────┘ │ └──┬─────┬──┘ │
|
|
33
|
+
│ <no match nor response> │ ▲ │ <request>
|
|
34
|
+
<error> ▼ │ │ <response> │
|
|
35
|
+
│ ┌──────┴───────┐ │ │ ▼ │
|
|
36
|
+
├─────────│ Fallbacks │─────────┤ │ ┌─┴───────┴─┐
|
|
37
|
+
▼ └──────┬───────┘ │ │ │ Client │
|
|
38
|
+
┌─────┴──────┐ │ ┌──<response>─┘ │ └───────────┘
|
|
39
|
+
│ Catchers │ ▼ ▼ │
|
|
40
|
+
└─────┬──────┘ ┌──────┴───┴───┐ │
|
|
41
41
|
└────────►│ Afters │───────────────┘
|
|
42
42
|
<error-response> └──────────────┘ <final-response>
|
|
43
43
|
```
|
|
@@ -46,22 +46,23 @@ Spine is a low-level routing layer built around the Web `Request`/`Response` API
|
|
|
46
46
|
Benchmark Bun.serve baseline: @bepalo/spine vs Hono
|
|
47
47
|
Bun runtime · localhost · 20,000 sequential requests per route
|
|
48
48
|
|
|
49
|
-
Bun Spine Hono
|
|
50
|
-
|
|
51
|
-
/ 9.91k 8.64k 8.19k
|
|
52
|
-
exact 10.33k 8.42k 8.19k
|
|
53
|
-
long exact 10.34k 8.28k 7.99k
|
|
54
|
-
one param 9.99k 8.16k 7.86k
|
|
55
|
-
two params 10.17k 8.04k 7.66k
|
|
56
|
-
three params 9.99k 7.68k 6.76k
|
|
57
|
-
six params 9.88k 7.91k 7.51k
|
|
58
|
-
ten params 9.78k 7.90k 7.12k
|
|
59
|
-
|
|
60
|
-
Average 10.05k
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
Bun Spine Hono ┌──────────────┐
|
|
50
|
+
─────────────────────────────────────────────── │ Server │
|
|
51
|
+
/ 9.91k 8.64k 8.19k └──────┬───────┘
|
|
52
|
+
exact 10.33k 8.42k 8.19k Request
|
|
53
|
+
long exact 10.34k 8.28k 7.99k ▼
|
|
54
|
+
one param 9.99k 8.16k 7.86k ┌──────────────┐
|
|
55
|
+
two params 10.17k 8.04k 7.66k │ Spine │
|
|
56
|
+
three params 9.99k 7.68k 6.76k │ Router │
|
|
57
|
+
six params 9.88k 7.91k 7.51k └──────┬───────┘
|
|
58
|
+
ten params 9.78k 7.90k 7.12k Response
|
|
59
|
+
▼
|
|
60
|
+
Average 10.05k 8.13k 7.65k ┌──────────────┐
|
|
61
|
+
ops/s │ Server │
|
|
62
|
+
└──────────────┘
|
|
63
|
+
████████████████████████████████████████ Bun
|
|
64
|
+
█████████████████████████████████ Spine
|
|
65
|
+
████████████████████████████████ Hono
|
|
65
66
|
```
|
|
66
67
|
|
|
67
68
|
## Why Spine?
|