4 ms·
All the other compilers in the comparison are C compilers, right? Whereas this compiler is compiling its own home made language? So not sure how the comparison
by billyjobob 4y ago
All the other compilers in the comparison are C compilers, right? Whereas this compiler is compiling its own home made language? So not sure how the comparison can be valid.
- pubby 4y agoFWIW the custom language is very close to C, and the examples are pretty much a 1-1 transposition. I agree with you though on a different note. It's dubious to compare compilers by benchmarking them, because tests are highly arbitrary and are won/lost based on single weak links. It's not really an exact science, but rather something you can start with to figure out how things are behaving. I mostly base my opinions by looking at the assembly code each compiler generates, but a single bar graph is a better presentation for articles.
- matt_d 4y agoIt could be fun to compare with Action!--it's been known to compile a reasonably good 6502 assembly (considerably better than other compiled languages for that platform), https://en.wikipedia.org/wiki/Action!_(programming_language) https://en.wikipedia.org/wiki/Action!_(programming_language), It has been released as open-source together with the binaries, https://atariwiki.org/wiki/Wiki.jsp?page=Action https://atariwiki.org/wiki/Wiki.jsp?page=Action You should be able to run these using an Atari 8-bit (XL/XE model) emulator, like Atari800, https://github.com/atari800/atari800/releases https://github.com/atari800/atari800/releases or Altirra, https://www.virtualdub.org/altirra.html https://www.virtualdub.org/altirra.html
- mmphosis 4y agoI think NESFab is a medium level programming language targeting the NES 6502. On NES, the Decimal flag has no effect. GNU Compiler Collection no longer targets 6502, but an older version of the GNU C Compiler could. LLVM targeting 6502 is limited. There is also the cc65 cross compiler. [1] LLVM [2] and GCC [3] are compiler and toolchain technologies. The name Low Level Virtual Machine (LLVM) is no longer officially an acronym, and the GNU C Compiler is now the GNU Compiler Collection (GCC). [1] https://www.cc65.org/ https://www.cc65.org/ [2] https://www.llvm.org/ https://www.llvm.org/ [3] https://gcc.gnu.org/ https://gcc.gnu.org/
- exDM69 4y agoNo, not really. LLVM is not a C compiler, it consumes an intermediate representation. Clang is the C compiler which produces LLVM IR. Likewise, GCC contains a C compiler but the machine specific parts like the codegen take an intermediate representation (GCC has several) as input. Almost no compilers out there compile directly from C to machine code, there is one or more intermediate forms in between. C is not a good input language for an optimizing compiler. It's a good and entirely valid comparison. It's the backend codegen that is being compared, the language frontend does not really play a part in it.