Repository navigation
Changes since 0.1.6
- Reduce repeated analyzer source walks, parsing and retained memory through shared read-only projections, compact source facts and call spans, bounded source-hash retention, and requested-only replay after query eviction. Existing source freshness, native metadata proofs, ambiguity handling and diagnostic checks remain in place.
- Add regression coverage for real cache eviction and replay, refreshed analyzer-depth witnesses, handler CPU profiles and repeated full-workload measurements.
- Add a native Windows benchmark runner that accounts for the complete process tree using Job Objects, verifies diagnostics and input identity, uses fresh PHPStan caches, and guards against insufficient physical memory or system commit headroom.
- Remove 68 intermediate benchmark reports (about 25 MiB) from the current tree. The benchmark index links every historical report to its immutable published commit; final studies and diagnostic fixtures remain available.
Workload measurements
The final balanced Linux comparison (eight measured runs per configuration) reports Laramago at 61.48 s, Larastan L5 at 82.46 s, and Larastan L10 at 83.50 s. Laramago's median cgroup memory peak is 1298.22 MiB, versus 1177.90 / 1185.13 MiB for those Larastan configurations. All 13,100 complete diagnostic records, including duplicate occurrences, are preserved against the admitted baseline. Linux study and limitations.
On native Windows, four balanced measured runs per configuration report Laramago at 143.23 s, Larastan L5 at 186.04 s, and Larastan L10 at 121.71 s. Laramago is approximately 23% faster than L5 and 18% slower than L10, with a higher median committed process-tree memory peak (1212.47 MiB, versus 824.61 / 834.61 MiB). Every accepted Laramago observation preserves the complete 13,100-record Windows warmup diagnostic multiset. Windows study, complete observations and retained failures.
These are local measurements of one sealed application on a shared workstation. Rule sets differ; L5 retains seven existing ignores and L10 clears configuration ignores. They do not establish universal PHPStan-level equivalence or an overall speed advantage. Windows process commitment and Linux cgroup memory including file cache are different metrics. The failed unguarded Windows series is retained separately and excluded from accepted timing samples. The live original's unrelated frontend changes and its failed whole-tree postcheck are documented; measured-copy, selected PHP/config and dependency checks pass.
Validation
- The exact 587 production source files pass strict Composer validation and the complete 502-command native Linux test script. Production sources are unchanged by the subsequent cleanup and Windows tooling commit. Final-source verification.
- Refreshed 33-pair / 14-configuration marked depth matrix and 23 PHPStan threshold oracles. Depth evidence.
- Five Windows protocol unit tests, PHP helper syntax checks, native parent/child CPU and memory accounting, and owned-tree timeout controls pass. The complete guarded Windows series contains four excluded warmups and 16 measured commands.
- All 71 historical archive links and retained local benchmark links pass the cleanup audit. Hosted CI is NOTRUN. Historical report fields describing local/uncommitted state refer to their original evidence capture time.
Download benchmark evidence
Complete benchmark archive, per-file manifest and SHA-256 checksums. The archive preserves 81 previously published files, including historical and failed series, with original report bytes and immutable source-commit identities. The release tag and its source snapshot are unchanged.
Update
composer require --dev ichinya/laramago:^0.1.7