Record cache reuse probes and reset each benchmark configuration
This commit is contained in:
@@ -761,6 +761,9 @@ async function main() {
|
|||||||
results.browsers[bName] = {};
|
results.browsers[bName] = {};
|
||||||
|
|
||||||
for (const prof of profiles) {
|
for (const prof of profiles) {
|
||||||
|
// The preceding profile can end on a synthetic feature-update tree.
|
||||||
|
// Always measure the actual base build on the next cold visit.
|
||||||
|
await server.restartWithPublic(treeBase);
|
||||||
console.log(`\n>>> Running Benchmark: Browser=[${bName}] Profile=[${prof}]`);
|
console.log(`\n>>> Running Benchmark: Browser=[${bName}] Profile=[${prof}]`);
|
||||||
results.browsers[bName][prof] = {};
|
results.browsers[bName][prof] = {};
|
||||||
|
|
||||||
|
|||||||
3892
perf/results/phase6-handoff-mode.json
Normal file
3892
perf/results/phase6-handoff-mode.json
Normal file
File diff suppressed because it is too large
Load Diff
3736
perf/results/phase6-owned-trial.json
Normal file
3736
perf/results/phase6-owned-trial.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -51,3 +51,28 @@ FCP is 909 ms; the first classic request reaches the proxy at 250 ms and complet
|
|||||||
at 423 ms. Lazy still applies only the saved layout, in the original cascade order.
|
at 423 ms. Lazy still applies only the saved layout, in the original cascade order.
|
||||||
Other selected layouts may speculatively download the small classic stylesheet;
|
Other selected layouts may speculatively download the small classic stylesheet;
|
||||||
it never applies or blocks their rendering. No inline script or CSP change.
|
it never applies or blocks their rendering. No inline script or CSP change.
|
||||||
|
|
||||||
|
|
||||||
|
The page-to-worker prototype successfully delivered bodies, but still transferred
|
||||||
|
app.js twice. `phase6-handoff-mode.json` records the two requests: identical URL,
|
||||||
|
`Accept-Encoding: gzip, deflate`, no-cors mode and immutable response, but script
|
||||||
|
versus empty request destinations. Force-cache in the page did not reuse the
|
||||||
|
script body's cache either. This prototype was discarded, not shipped.
|
||||||
|
|
||||||
|
A fetch preload plus a later fetch also failed the one-body assertion. The
|
||||||
|
shipping fix instead starts one cache-first fetch promise in the head loader.
|
||||||
|
The final eager app-bootstrap consumes that response, verifies header AND SHA-256,
|
||||||
|
and caches it before executing unchanged app.js as a classic script. A specific
|
||||||
|
server-generated CSP hash authorizes only those exact bytes; unsafe-inline remains
|
||||||
|
absent. DOMContentLoaded boot runs exactly once; the temporary script node and
|
||||||
|
response promise are released. Native, insecure HTTP and rollback modes retain
|
||||||
|
external classic execution. Only server asset-manifest rendering changed; no
|
||||||
|
frontend imports, worker sync algorithm, update flow or playback source changed.
|
||||||
|
|
||||||
|
The initial owned-response trial passed with one app.js body, FCP 1040 ms and
|
||||||
|
981468 wire bytes (one fresh sample; not a final median). Five-run acceptance and
|
||||||
|
regression results will be recorded separately. Historical diagnostics retained
|
||||||
|
all samples. Full-harness configurations now reset to the base tree before each
|
||||||
|
browser/profile, preventing a preceding synthetic update from contaminating the
|
||||||
|
next cold build. The historical invalid media fixture remains unchanged: home
|
||||||
|
launch only, not autoplay/audio latency.
|
||||||
|
|||||||
Reference in New Issue
Block a user