5 ms·
I would love to see a comparison of the performance of compiled programs. If zappcc creates slower executables but spitting them out faster, it could be used d
by jeremiep 10y ago
I would love to see a comparison of the performance of compiled programs.
If zappcc creates slower executables but spitting them out faster, it could be used during development to speed up iterations. And if the executables are faster, I'm very curious as to how they achieved both faster compilation and faster runtimes.
- zbowling 10y agoIn theory the compiled output should be the same as clang (if there are no bugs) being that this is just an optimized clang where compile structures are cached.
- userbinator 10y agoI think a good example of this is tcc, one of the fastest C compilers I've seen --- because it doesn't do much optimisation at all and is single-pass, it can generate code as it parses, but the output is dismally inefficient. Another example of ultrafast compilation is Delphi, but once again the generated code looks more like a dumb line-by-line translation with plenty of redundant and unnecessary instructions (making decompiling interesting in that it easily produces something quite close to the original source.)
- greglindahl 10y agoYou might want to compare tcc to just about any compiler with -O0 -- they're a lot faster if they are allowed to generate slow code. It's also super-straightforward to find compiler bugs, if you're lucky enough that it's an O0 bug!
- olegkikin 10y agoLooks like the speed isn't compromised. Scroll all the way down on this page: http://www.zapcc.com/benchmarks/ http://www.zapcc.com/benchmarks/
- wichtounet 10y agoNormally, it should make almost difference compared to the code generated by the same version of clang on which zapcc is based. It may make a difference in the long term if they don't keep up to date with clang trunk.
- rurban 10y agozapcc uses clang-4. clang-4/zapcc is massively faster than gcc-6 for my usecases, and significantly faster than clang-3.9. perl is 2x faster than with gcc-6 -O3.