Claude's C Compiler vs. GCC
3 months ago
- #AI
- #benchmark
- #compiler
- Anthropic公司的Claude Opus 4.6开发了CCC(Claude的C编译器),这个C编译器能在人类仅编写测试用例的有限指导下编译Linux内核。
- CCC完全用Rust编写,支持多种架构(x86-64、i686、AArch64、RISC-V 64),且不依赖任何编译器专用库就从头实现了所有编译阶段。
- C语言编译包含四个阶段:预处理、编译生成汇编代码、汇编生成机器码、将目标文件链接为可执行文件。
- 经过近40年发展的GCC具有高度优化特性,支持众多架构和优化流程,这使得CCC能编译真实C代码固然值得关注,但其生成代码效率远逊于GCC。
- CCC成功无错误编译了Linux 6.9内核所有C文件,但因重定位条目错误和符号表问题导致链接阶段失败。
- 测试选用SQLite作为基准——因其符合C标准且自成体系,结果显示CCC生成的二进制文件体积是GCC的2.7-3倍,在嵌套操作中性能慢737-158,000倍。
- CCC的性能瓶颈主要源于寄存器分配策略低效导致大量寄存器溢出,且缺乏多级优化机制使-O优化标志无效。
- 尽管存在局限,CCC证明了AI在复杂软件开发中的潜力:能正确但低效地完成编译,在优化器和链接器兼容性方面仍有巨大改进空间。