Open
Description
What I did:
- Downloaded and built cparser 1.22.1 and libfirm 1.22 (I had to use commit 20c5dd7 of libfirm to avoid the Python issue); my test machine is a HP EliteBook 2530p with 4 GB RAM and 32 bit Linux kernel 3.13.
- Run this benchmark with different optimization levels:
awfy_c99_benchmark.tar.gz. I used the Oberon+ version of the Are-we-fast-yet benchmark suite, transpiled to C99. The benchmark depends only on the Boehm GC and the standard library. The ia32 backend of libfirm was in charge.
What I measured:
There is a spreadsheet with the detailed results, and here is a brief summary:
- When compared to gcc 4.8 (both -O2), the executable generated by cparser/libfirm is only ~8% slower than the gcc generated one, but the build with cparser/libfirm takes factor 4.3 longer than with gcc.
- When comparing the cparser/libfirm optimization levels -O3 and -O0, then the executable built with -O3 is only ~25% faster than the one built with -O0 (while -O0 switches off all optimizations, even constant folding).
That's a pretty small performance improvement compared to the estimated development effort (~123 kSLOC plain libfirm with only the ia32 backend, developed over ~16 years).
Has anyone else measured different results? What am I doing wrong?
Metadata
Metadata
Assignees
Labels
No labels