Hacker News new | ask | show | jobs
by eek04_ 1917 days ago
As somebody that used program on the Amiga, using SAS C: GCC is/was terrible, speed-wise. We're talking 10-20x slowdown. Sounds like ack is on the same level as SAS C, and clang is on the same speed as GCC.

This had NOTHING to do with

> those last 8-10% of features (performance, safety, etc...) have come at an absolutely staggering price

SAS C had better generated code and more features.

It was purely a question of architecture - SAS C was architected for speed, and actively used caches (especially precompiled header files) to avoid re-doing work. GCC didn't, and I've seen no hint of that appearing in GCC since.

1 comments

GCC has had precompiled headers for years. They don't really help in C, bceause the time spent parsing headers isn't a significant chunk of runtime in practice. They can be useful in C++, as it's common to include massive amounts of templated code in headers, but they still only buy you 20% at best.
For speed-architected C compilers/linkers lexing time is typically a very significant part of compilation time. The Unix compilers typically hasn't been speed-architected, instead having a focus on simplicity and ease of porting.