Define self improving compiler
GPT-3.5
GPT-6 Astra
A self-improving compiler is a compiler that uses feedback from previous compilations or program executions to improve its future compilation decisions.
For example, it might:
- Measure how fast generated code runs.
- Learn which optimizations work best for particular programs.
- Adjust its optimization choices to produce faster or smaller code.
The term can also refer to a compiler that modifies or optimizes its own implementation, though that is a stronger and less common meaning.
Not to be confused with a self-hosting compiler, which is simply written in the language it compiles.
What changed
GPT-3.5’s answer repeats itself almost word for word. Its second paragraph and its “Overall” paragraph both promise to “significantly improve the efficiency and performance of compiled code by continuously adapting and optimizing it based on the specific input and environment.” That padding hides a vaguer problem. It lumps together a compiler that improves “its own code or the code of other programs.” Its example, rewriting a program “as it is running,” describes ordinary runtime optimization of the kind a JIT compiler does, not a compiler getting better at its own job.
Astra pins the definition to what makes it self-improving: feedback from earlier compilations shapes “future compilation decisions.” It then names the rarer sense, a compiler that rewrites its own implementation, as “stronger and less common,” and adds a helpful warning not to confuse the idea with a self-hosting compiler. Astra’s answer is shorter and says more.