@tenphi/tasty 3.9.10 → 3.9.11
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/docs/pipeline.md +1 -1
- package/docs/runtime-benchmarks.md +7 -7
- package/package.json +1 -1
package/docs/pipeline.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This document describes the style rendering pipeline that transforms style objects into CSS rules. The pipeline ensures that each style value is applied to exactly one condition through exclusive condition building, boolean simplification, and intelligent CSS generation.
|
|
4
4
|
|
|
5
|
-
**Implementation:** [`src/pipeline/`](
|
|
5
|
+
**Implementation:** [`src/pipeline/`](https://github.com/tenphi/tasty/tree/main/src/pipeline) — TypeScript file names below are relative to that directory.
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
@@ -80,9 +80,9 @@ cold cases. These benchmarks do not include React, DOM work, stylesheet
|
|
|
80
80
|
injection, style resolution, layout, or paint.
|
|
81
81
|
|
|
82
82
|
The benchmark sources are colocated with the code they exercise:
|
|
83
|
-
[`pipeline.bench.ts`](
|
|
84
|
-
[`parseStateKey.bench.ts`](
|
|
85
|
-
parser benchmark files under [`src/parser`](
|
|
83
|
+
[`pipeline.bench.ts`](https://github.com/tenphi/tasty/blob/main/src/pipeline/pipeline.bench.ts),
|
|
84
|
+
[`parseStateKey.bench.ts`](https://github.com/tenphi/tasty/blob/main/src/pipeline/parseStateKey.bench.ts), and the
|
|
85
|
+
parser benchmark files under [`src/parser`](https://github.com/tenphi/tasty/tree/main/src/parser).
|
|
86
86
|
|
|
87
87
|
## Empty Wrapper Overhead
|
|
88
88
|
|
|
@@ -91,7 +91,7 @@ Skipping the style pipeline does not make a `tasty()` component free. Even
|
|
|
91
91
|
tracks another fiber, and Tasty still processes and forwards the element's
|
|
92
92
|
props.
|
|
93
93
|
|
|
94
|
-
[`tasty-overhead.bench.tsx`](
|
|
94
|
+
[`tasty-overhead.bench.tsx`](https://github.com/tenphi/tasty/blob/main/src/tasty-overhead.bench.tsx) compares 10,000
|
|
95
95
|
raw `<div className>` siblings with 10,000 instances of one module-scoped
|
|
96
96
|
`tasty({})` component. Both receive the same props, and the benchmark fails if
|
|
97
97
|
they do not produce equivalent DOM.
|
|
@@ -125,7 +125,7 @@ snapshot experiment with controlled garbage collection.
|
|
|
125
125
|
|
|
126
126
|
## Cold Generation and Injection
|
|
127
127
|
|
|
128
|
-
[`tasty-injection.bench.ts`](
|
|
128
|
+
[`tasty-injection.bench.ts`](https://github.com/tenphi/tasty/blob/main/src/tasty-injection.bench.ts) measures the extra
|
|
129
129
|
work when Tasty must generate and inject CSS that an otherwise equivalent page
|
|
130
130
|
already has. It does not compare different stylesheet insertion techniques.
|
|
131
131
|
|
|
@@ -201,7 +201,7 @@ and dialogs open. Both paths go through the state-map and ref-counting
|
|
|
201
201
|
machinery rather than the parser, so a regression in them is invisible to every
|
|
202
202
|
other benchmark here.
|
|
203
203
|
|
|
204
|
-
[`tasty-interaction.bench.tsx`](
|
|
204
|
+
[`tasty-interaction.bench.tsx`](https://github.com/tenphi/tasty/blob/main/src/tasty-interaction.bench.tsx) pairs each
|
|
205
205
|
case with a raw-DOM equivalent driven by a hand-written stylesheet that
|
|
206
206
|
produces the same computed color and background in both states. The benchmark
|
|
207
207
|
fails if either arm resolves to anything else, so an arm that quietly rendered
|
|
@@ -255,7 +255,7 @@ reopening a menu re-pays the React wrapper, not the style pipeline.
|
|
|
255
255
|
## Page-Load Cold Start
|
|
256
256
|
|
|
257
257
|
Every benchmark above deliberately excludes the network, module compilation and
|
|
258
|
-
the first render. [`scripts/cold-start`](
|
|
258
|
+
the first render. [`scripts/cold-start`](https://github.com/tenphi/tasty/tree/main/scripts/cold-start) measures exactly
|
|
259
259
|
those: what a visitor waits for between requesting a page and seeing styled
|
|
260
260
|
content, in a real Chromium under CDP network and CPU throttling.
|
|
261
261
|
|