QBE
Ranked 2 of 10 compiler infrastructures by recommenders
Small, simple compiler backend that is far less code than LLVM and simpler to use. Main caveat: slower than GCC -O2 output.
Small, simple compiler backend that is far less code than LLVM and simpler to use. Main caveat: slower than GCC -O2 output.
26 people gave an opinion
- recommend it
- 16
- criticize it
- 10
- approval share
- 62%
Recommended in 9 of 13 months
- November 2025: recommended
- December 2025: not recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: not recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 16 people recommend itNeeds 10 or more, met.
- 1.6 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 9 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Much simpler than LLVM
“It's way simpler than LLVM, giving you about 70% of the LLVM performance, for 10% of the effort.”
Comment from 8 May 2026 in “Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE” “Sure it can't do all the optimizations LLVM can but it is radically simpler and easier to use.”
Comment from 3 Jan 2026 in “The C3 Programming Language” “QBE is a super simple project which is why adding a backend to it worked so well.”
Comment from 8 May 2026 in “QBE – Compiler Back End” - Comment from 8 May 2026 in “Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE”
Small codebase, few lines
“are orders of magnitude smaller, are _not_ written in one of the worst computer languages ever”
Comment from 9 Jun 2026 in “A discovery about GCC's unidirectional rotation algorithm” “a small and alternative plain and simple C compiler like cproc/qbe or tinycc”
Comment from 27 Apr 2026 in “Dillo Browser Release 3.3.0” “for a small fraction of the code... and a plain and simple C coded compiler”
Comment from 8 May 2026 in “QBE – Compiler Back End” - Comment from 8 May 2026 in “QBE – Compiler Back End”
Reasonable performance against LLVM and GCC
“It's way simpler than LLVM, giving you about 70% of the LLVM performance, for 10% of the effort.”
Comment from 8 May 2026 in “Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE” “Now 1.3 is 63% the speed of gcc O2 on this largely hostile benchmark.”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” “I found IR much faster and better codegen than MIR”
Comment from 3 Jun 2026 in “QBE – Compiler Back end: Version 1.3” Better intermediate language design
“It would probably be best to have the intermediate language that QBE has”
Comment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption” “illustrates a better intermediate language design”
Comment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption”
What people warn about
Each mark is one comment
Too slow compared with GCC
“it's still too slow to be considered production ready”
Comment from 3 Jun 2026 in “QBE – Compiler Back end: Version 1.3” “Except performance isn't great and it covers far fewer platforms.”
Comment from 19 Feb 2026 in “Ladybird: Closing this as we are no longer pursuing Swift adoption” “it's currently around 40% as fast as gcc -O2”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” Dense, terse code hard to read
“declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” “they've prioritised code golfing a bit too much over code quality”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” “I got approximately nowhere because I can't read code like that.”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” - Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3”
- Comment from 8 May 2026 in “QBE – Compiler Back End”
Hard to modify the code
“the QBE code is really strange so if you need to make some changes yourself it probably won't be very fun”
Comment from 8 May 2026 in “Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE” “declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3” Missing debug info and GC roots
“It looks like it doesn't have native support for identifying GC roots”
Comment from 8 May 2026 in “QBE – Compiler Back End” “missing a way to add source level debugging info”
Comment from 2 Jun 2026 in “QBE – Compiler Back end: Version 1.3”
Other compiler infrastructures people recommend
The four most recommended other compiler infrastructures, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| LLVM | 119 | 96 | 55% | 12 | 6 yrs3 owners | — |
| QBEThis page | 16 | 10 | 62% | 9 | — | — |
| EDG C++ front-end | 15 | 3 | 83% | 2 | — | — |
| Roslyn | 11 | 1 | 92% | 8 | — | Approved |
| MLIR | 10 | 4 | 71% | 6 | — | Approved |
What people said
33 of the 39 comments that mention it, newest first. Each links to the original comment.
“are orders of magnitude smaller, are _not_ written in one of the worst computer languages ever”
“it's still too slow to be considered production ready”
“I found IR much faster and better codegen than MIR”
“missing a way to add source level debugging info”
“no inlining, so-so register allocation, and a simple code generator”
“Now 1.3 is 63% the speed of gcc O2 on this largely hostile benchmark.”
“I got approximately nowhere because I can't read code like that.”
“going through the very dense code was a slog”
“they've prioritised code golfing a bit too much over code quality”
“it's currently around 40% as fast as gcc -O2”
“It is hard for me to fully trust a compiler backend that isn't self hosted.”
“this new QBE feature of supporting windows”
“declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software”
“it's smol, effective, and it doesn't make you deal with phi nodes”
“It looks like it doesn't have native support for identifying GC roots”
“the QBE code is really strange so if you need to make some changes yourself it probably won't be very fun”
“for a small fraction of the code... and a plain and simple C coded compiler”
“QBE is a super simple project which is why adding a backend to it worked so well.”
“the code is somewhat terse and eccentric”
“I really like QBE but I hope they will make it a true library”
“It's way simpler than LLVM, giving you about 70% of the LLVM performance, for 10% of the effort.”
“it's a great lightweight alternative to LLVM”
“a small and alternative plain and simple C compiler like cproc/qbe or tinycc”
“Except performance isn't great and it covers far fewer platforms.”
“It would probably be best to have the intermediate language that QBE has”
“illustrates a better intermediate language design”
“come with nice technical descriptions”
“QBE might be more to your liking”
“have a look at cproc and QBE, or scc, tinycc”
“I also like that it uses QBE for the reasons they explained.”
“Sure it can't do all the optimizations LLVM can but it is radically simpler and easier to use.”
“Even the hobby underdog qbe seems ill-suited to 6502 repurposing.”
“With qbe you won't need any of this.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.