Making profile-guided optimization reproducible
Comments on “Making profile-guided optimization reproducible”
Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked
Farid Zakaria shows a way to make profile-guided optimization reproducible, the usual reason Nixpkgs and Guix disable it for Python and GCC. He moves only the training run into Rewind, his deterministic VM, with fixed clock, seed and thread schedule. On a two-thread toy program, the profile and final binary then pass nix-build --check, which plain PGO fails. The training must be pinned to one CPU vendor, and the schedule choice affects profile quality. The evidence is one small example, not a real compiler or interpreter.
Why it ranked
No. 9 of 46 with a score of 0.65. The panel rated it highest on technical depth (0.93) and new information (0.90), lowest on audience breadth (0.55).
- AI judgeJudge 2claude-haiku-5-5
- Technically deep writeup on making PGO reproducible via a deterministic VM, with a runnable Nix example and measured profile variance. Relevant to build engineers; narrower audience and still-early tooling limit significance.
- AI judgeJudge 3gpt-5.6-luna
- A detailed, reproducible demonstration of deterministic PGO using a deterministic VM, including compiler behavior, Nix derivations, measurements, constraints, and validation. It offers actionable build engineering insight, though broader gains remain prospective.
Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.
Score
0.65total under rubric v2.3
- Significance0.56
- Reader interest0.77
- Audience breadth0.55
- Practical relevance0.70
- Substantiated0.86
- Technical depth0.93
- New information0.90
- Counts against: Promotional0.11
- Counts against: Overclaim0.25
Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).
| Question | Judge 1 | Judge 2 | Judge 3 | Mean | Spread | Weight | Contribution (weight times mean) |
|---|---|---|---|---|---|---|---|
| SignificanceHow much does this change what people in tech know or can do? | 0.55 | 0.45 | 0.68 | 0.56 | 0.23 | +0.24 | +0.134 |
| Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on? | 0.68 | 0.74 | 0.88 | 0.77 | 0.20 | +0.26 | +0.199 |
| Audience breadthHow many people who build technology does it concern? | 0.56 | 0.55 | 0.55 | 0.55 | 0.01 | +0.13 | +0.072 |
| Practical relevanceHow useful is it to someone who builds software or tech products? | 0.72 | 0.60 | 0.78 | 0.70 | 0.18 | +0.22 | +0.154 |
| SubstantiatedHow well is it backed? Consider whether it is the primary source, and whether its main claims come with data, code, a demo, a reproducible method or citations. | 0.97 | 0.70 | 0.90 | 0.86 | 0.27 | +0.05 | +0.043 |
| Technical depthHow technically substantive is it? | 1.00 | 0.85 | 0.94 | 0.93 | 0.15 | +0.05 | +0.046 |
| New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)? | 0.85 | 0.90 | 0.96 | 0.90 | 0.11 | +0.05 | +0.045 |
| PromotionalIs it mainly marketing with little substance (a press release, ad or sponsored post with no real information)? A launch post that carries real news is not promotional. | 0.05 | 0.20 | 0.08 | 0.11 | 0.15 | −0.19 | −0.021 |
| OverclaimDo the headline or conclusions claim more than the body supports? | 0.26 | 0.35 | 0.14 | 0.25 | 0.21 | −0.11 | −0.028 |
| Sum of contributions | +0.646 | ||||||
| Claim-check penalty | 0.000 | ||||||
| Total, as published | 0.646 | ||||||
Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.
The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.
<a href="https://rubric.hrih.si/editions/2026-11-09/9/"><img src="https://rubric.hrih.si/badge/2026-11-09/9.svg" alt="Ranked #9 on Rubric, 9 Nov 2026" width="231" height="28"></a>Claim check
Claim check: 1 matches source · 5 no source given · 2 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.
Couldn’t checkNumber
In an earlier post the author built a profile-guided sqlite3 variant that achieved a 1.32x speedup for their select workloads.
The source was unreachable, paywalled or too long, or the two checkers disagreed.
The article says “I built a profile-guided sqlite3 variant for a 1.32x speedup for our select workloads”
The source says No passage could be compared.
Source cited by the article: fzakaria.com/2026/05/23/leaving-performance-on-the-table
Couldn’t checkGeneralization
Python and GCC both support profile-guided builds but PGO is explicitly disabled in their Nixpkgs packages, and Python's PGO is also disabled in Guix.
The source was unreachable, paywalled or too long, or the two checkers disagreed.
The article says “Python and GCC both support profile-guided builds but are explicitly disabled in Nixpkgs”
The source says No passage could be compared.
Source cited by the article: github.com/NixOS/nixpkgs/blob/0ec91f273c5f2edc3ed4e390acdbb18105e285d1/pkgs/development/interpreters/python/cpython/default.nix
No source givenCausal conclusion
Nix and Guix use input-addressed store paths, so builds can produce differing bytes under the same path and whichever reaches the binary cache first is distributed.
The article gives no link or citation for it.
The article says “Their store paths are input-addressed, meaning the path is derived from the inputs only”
The source says No source to compare with.
Matches sourceQuote
Compiling from the same source on independent infrastructure and getting bit-identical results gives confidence that the build infrastructure was not compromised and the artifact corresponds to the source.
The cited source says the same thing.
The article says “When compiling from the same source on independent infrastructure yields bit-by-bit identical results, this gives confidence that the build infrastructure was not compromised”
The source says “When compiling from the same source on independent infrastructure yields bit-by-bit identical results, this gives confidence that the build infrastructure was not compromised and the artifact really does correspond to…”
Source cited by the article: reproducible.nixos.org
No source givenCausal conclusion
PGO builds are not reproducible because the training run is not reproducible, so the profile and the optimized binary can differ between builds.
The article gives no link or citation for it.
The article says “The problem is that the training run is not reproducible”
The source says No source to compare with.
No source givenNumber
Rebuilding the plain Nix PGO derivation with nix-build --check fails as possibly non-deterministic, and the profile counts differ on every rebuild.
The article gives no link or citation for it.
The article says “Rebuilding the derivation multiple times and reading the profile shows that the counts are different every time”
The source says No source to compare with.
No source givenCausal conclusion
Running the training inside Rewind with fixed epoch, seed, schedule, CPU and clock yields a profile and final program that pass nix-build --check, making the PGO build bit-for-bit reproducible.
The article gives no link or citation for it.
The article says “This means our profile-guided build is bit-for-bit reproducible”
The source says No source to compare with.
No source givenNumber
Of four tested schedules, three gave every job to one worker; only schedule 1 produced a roughly 50/50 split (50,004 vs 49,996 calls).
The article gives no link or citation for it.
The article says “Three of the four gave every job to one worker, so compress would never run in training”
The source says No source to compare with.
Also covered by
No other coverage was clustered with this story.
Elsewhere
Elsewhere: HN 1 pts, not on front page
Recorded for context only, checked 9 Nov 2026, 05:46 UTC. It played no part in the ranking.