From aa3904e9a84366bc3ba1af022ef2cb3ad20052d5 Mon Sep 17 00:00:00 2001 From: "v.razuvaev" Date: Tue, 13 Oct 2026 22:02:38 +0300 Subject: [PATCH] Release 1.1.0 Dates the section and records the perf re-verification the release rule asks for: six runs of the full harness in one sitting, alternating the commit before inline forwarding with the candidate, with the competitors' movement in the same runs as the noise floor. Nothing is attributable, so the figures stand unchanged. --- CHANGELOG.md | 2 +- perf/README.md | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1bdd79..050bc47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 1.1.0 — Unreleased +## 1.1.0 — 2026-10-13 - **Changed.** A forwarding double of a **class** now runs the real bodies on itself instead of proxying them to the instance: the state that instance held diff --git a/perf/README.md b/perf/README.md index 2fadd0b..a97772a 100644 --- a/perf/README.md +++ b/perf/README.md @@ -97,6 +97,19 @@ variable in the root `Makefile`, not by flags typed at a prompt. Understudy `v1.0.0` (`d044131`), Mockery 1.6.15, Prophecy 1.26.1, PHPUnit 12.5.36. Taken 2026-09-27. +**Re-verified for the v1.1.0 tag on 2026-10-13**, and left unchanged. Inline +forwarding (#150) rewrote dispatch's forwarding branch and put two integer +writes and a `try`/`finally` on every matched-with-action call, so the figures +had to be re-taken rather than trusted. Six runs of the full harness in one +sitting, alternating the commit before the change with the candidate, medians +of three a side: understudy moved −2.6%, +1.6%, −18.3%, −18.5%, 0.0%, 0.0% +across the six tables while Mockery, Prophecy and PHPUnit moved −18.4% to ++3.0% in the same runs. The two −18% tables moved for every library, so the +machine moved and not the code; the two per-call dispatch tables are 0.0% for +us against ±3.0% for them. `RStDev` ran 6.5–20% in that sitting, so the ratios +are the reading and the microsecond figures below — taken on a quiet machine — +are the ones that stand. `memory.php` is identical to the byte. + **Re-verified for the v0.5.0 tag on 2026-09-03**, and left unchanged because there was nothing to change. Three runs of the full harness at `442da10` — the commit above — and three on the release candidate, same machine, same pinning,