Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



I 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.)


You 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!


In 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.


Looks like the speed isn't compromised. Scroll all the way down on this page:

http://www.zapcc.com/benchmarks/


Normally, 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.


zapcc 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: