Live data from Hacker News

Nobody Reviews Compiler Output

skiplabs.io

11–20 of 36 posts

Re: Nobody Reviews Compiler Output

#11
All other arguments aside... Yes, people do review compiler output, all the time in fact!

When optimizing code it's not unusual to look at the assembly. It's not unusual to look for opportunities for autovectorization or to verify inlining or loop unrolling.

Compilers are, for the most part, deterministic. This means after people have reviewed the output, it's unlikely to change. It also means if they do change, only a few people are required to notice.

None of this applies to LLMs. They are worse than compilers, in regards to the quality and characteristics of their output, in every possible way.

If no one reviewed compiler output then https://godbolt.org/ wouldn't exist.

Re: Nobody Reviews Compiler Output

#13

All other arguments aside... Yes, people do review compiler output, all the time in fact! When optimizing code it's not unusual to look at the assembly. It's not unusual to look for opportunities for autovectorization or to verify inlining or loop unrolling. Compilers are, for the most part, deterministic. This means after people have reviewed the output, it's unlikely to change. It also means if they do change, only…

All other arguments aside... Yes, people do review compiler output, all the time in fact!

No. In reality, this is almost never done anymore.

We used to do it all the time back when performance mattered, but that was then.

HN readers don't have to like it, and obviously they (we) don't, but shooting the messenger won't help.

Re: Nobody Reviews Compiler Output

#15
I only skimmed this. Lots of “not to be read, but to be verified; process, not the artifact; not x but...”.

“AI-checks-AI pipelines as first-class CI infrastructure, not bolt-on curiosity”—what’s the contrast here? Is it serious aspiration, not unserious aspiration?

“Formal specification layers that agents execute against, not just prompts”—Okay.

It just looks like it is stating lots of problems with a x-not-y as if there is progress being made by way of insistence.

I am open to the idea of something like a small verification kernel that can be comprehended by “humans” which can check GenAI output. But right now we can contrast mature (decade+) compilers with GenAI like this.

- Compilers: You get the abstraction you asked for: it might not be “optimal” code, but it is code that works the way you wrote it

- GenAI: Here is 200KLOC, good luck, could be anything

Now you could reduce the space of those 200KLOC with tests and verification. But so far (based on this submission) it looks like this is at the handwaving stage.

Certainly you would need high-value tests if tests are the thing that is supposed to be the verification. Either something simple and expressive enough for “humans” to write or something that is both short and easy to read for “humans” (and generated by GenAI). Not some copy-paste smelling mockfest that looks like it is a pile of junk that has evolved over five years, each author pushing some junk on top while taking care to not make the whole pile tilt and collapse.

Re: Nobody Reviews Compiler Output

#16

All other arguments aside... Yes, people do review compiler output, all the time in fact! When optimizing code it's not unusual to look at the assembly. It's not unusual to look for opportunities for autovectorization or to verify inlining or loop unrolling. Compilers are, for the most part, deterministic. This means after people have reviewed the output, it's unlikely to change. It also means if they do change, only…

All other arguments aside... Yes, people do review compiler output, all the time in fact! No. In reality, this is almost never done anymore. We used to do it all the time back when performance mattered, but that was then. HN readers don't have to like it, and obviously they (we) don't, but shooting the messenger won't help.

In my circles we're actually doing it even more because we can have an LLM take a look at the assembly.

Re: Nobody Reviews Compiler Output

#18

All other arguments aside... Yes, people do review compiler output, all the time in fact! When optimizing code it's not unusual to look at the assembly. It's not unusual to look for opportunities for autovectorization or to verify inlining or loop unrolling. Compilers are, for the most part, deterministic. This means after people have reviewed the output, it's unlikely to change. It also means if they do change, only…

Same goes for linker output, especially in embedded dev.

Re: Nobody Reviews Compiler Output

#20
Biggest problem right now is that we have teams pushing dozen of MD files, dozend of thousands of lines of English prose as if they were specs. There’s no way we can validate so much written prose because it’s plain English: perhaps one sentence is written in a way LLMs will read between the lines; perhaps line 100 and line 1000 are contradictory in such a subtle way that LLMs may not be aware of it.

In my company we have so much english prose committed to MD files that Im starting to think it’s all just snake oil. I cannot trust an engineer that writes “no bugs , please” and can go on with their lives.

Post reply on HN