3 ms·
I wouldn't be so sure. Given that this is a new backend for GNAT and the first one is close to 25 years old I assume it will have more modern optimizations and
by 0xDEEPFAC 7y ago
I wouldn't be so sure. Given that this is a new backend for GNAT and the first one is close to 25 years old I assume it will have more modern optimizations and experience behind it - presumably leading to something faster.
- earenndil 7y agoThe 'old' backend is modern gcc, which is on par with or beats llvm.
- 0xDEEPFAC 7y agoI would say gcc and llvm are competitive - asserting gcc is faster at its current state is quite a claim. Also, I was referring to AdaCore's implementation of the compiler backend. GNAT's architecture is structured like so: GNAT Frontend (parsing, analysis, expansion) -> GNAT Backend (translation of frontend tree to something GNU or LLVM can understand) -> LLVM or GCC This backend is quite complex and has a large role in how LLVM can optimize. My argument is that GNAT's GCC backend is 25 years old and a new backend written for LLVM probably generates better/cleaner code. Also of note is that the GCC backend is written and C and the LLVM is actually written in Ada meaning its more uniform with the GNAT frontend.
- monocasa 7y agoOn the other hand, the GCC implementation has 25 years performance optimizations across the whole battery of programs they run.