# QBE

16 Hacker News commenters recommended QBE and 10 criticized it, November 2025 to November 2026. It was recommended in 9 of 13 months.

**Verdict:** Small, simple compiler backend that is far less code than LLVM and simpler to use. Main caveat: slower than GCC -O2 output.

## Why people recommend it

- Much simpler than LLVM (4 comments): "It's way simpler than LLVM, giving you about 70% of the LLVM performance, for 10% of the effort." ([source](https://news.ycombinator.com/item?id=48062899)) "Sure it can't do all the optimizations LLVM can but it is radically simpler and easier to use." ([source](https://news.ycombinator.com/item?id=46480906)) "QBE is a super simple project which is why adding a backend to it worked so well." ([source](https://news.ycombinator.com/item?id=48065544))
- Small codebase, few lines (4 comments): "are orders of magnitude smaller, are _not_ written in one of the worst computer languages ever" ([source](https://news.ycombinator.com/item?id=48459602)) "a small and alternative plain and simple C compiler like cproc/qbe or tinycc" ([source](https://news.ycombinator.com/item?id=47919376)) "for a small fraction of the code... and a plain and simple C coded compiler" ([source](https://news.ycombinator.com/item?id=48065924))
- Reasonable performance against LLVM and GCC (3 comments): "It's way simpler than LLVM, giving you about 70% of the LLVM performance, for 10% of the effort." ([source](https://news.ycombinator.com/item?id=48062899)) "Now 1.3 is 63% the speed of gcc O2 on this largely hostile benchmark." ([source](https://news.ycombinator.com/item?id=48377179)) "I found IR much faster and better codegen than MIR" ([source](https://news.ycombinator.com/item?id=48377932))
- Better intermediate language design (2 comments): "It would probably be best to have the intermediate language that QBE has" ([source](https://news.ycombinator.com/item?id=47068878)) "illustrates a better intermediate language design" ([source](https://news.ycombinator.com/item?id=47068702))

## What people warn about

- Too slow compared with GCC (3 comments): "it's still too slow to be considered production ready" ([source](https://news.ycombinator.com/item?id=48384369)) "Except performance isn't great and it covers far fewer platforms." ([source](https://news.ycombinator.com/item?id=47069846)) "it's currently around 40% as fast as gcc -O2" ([source](https://news.ycombinator.com/item?id=48376534))
- Dense, terse code hard to read (5 comments): "declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software" ([source](https://news.ycombinator.com/item?id=48374842)) "they've prioritised code golfing a bit too much over code quality" ([source](https://news.ycombinator.com/item?id=48376645)) "I got approximately nowhere because I can't read code like that." ([source](https://news.ycombinator.com/item?id=48377154))
- Hard to modify the code (2 comments): "the QBE code is really strange so if you need to make some changes yourself it probably won't be very fun" ([source](https://news.ycombinator.com/item?id=48066622)) "declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software" ([source](https://news.ycombinator.com/item?id=48374842))
- Missing debug info and GC roots (2 comments): "It looks like it doesn't have native support for identifying GC roots" ([source](https://news.ycombinator.com/item?id=48067547)) "missing a way to add source level debugging info" ([source](https://news.ycombinator.com/item?id=48377524))

## Alternatives hackers recommend

- [LLVM](https://hackerapproved.com/p/llvm.md): 119 recommend
- [EDG C++ front-end](https://hackerapproved.com/p/edg-c-plus-plus-front-end.md): 15 recommend
- [Roslyn](https://hackerapproved.com/p/roslyn.md): 11 recommend
- [MLIR](https://hackerapproved.com/p/mlir.md): 10 recommend
- [Cranelift](https://hackerapproved.com/p/cranelift.md): 10 recommend

## Cite as

Hacker Approved, "QBE", https://hackerapproved.com/p/qbe/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
