From Philipp Klaus Krause@21:1/5 to All on Wed Feb 7 15:02:44 2018
stdcbench has improved substantially since my first post to comp.lang.c.
The current version consists of 2 modules, which on typical systems
should contribute about equally to the score.
It benchmarks a commonly-implemented subset of what the standard
requires for freestanding implementations of C90. It consists of three submodules:
1) Huffman/RLE decompression (adapted from real-world code)
2) Integer matrix multiplication (synthetic)
3) Insertion sort (adapted from real-world code)
Benchmarks the standard library.
I consists of two submodules:
1) Computation of lnlc-width (adapted from real-world code)
2) Peephole optimizer (simplified from real-world code)
C99 features (e.g. bool, restrict) are used where available, but not
So far, stdcbench seems to achieve the goals: benchmark a wide range of important standard c functionality, without giving too much emphasis to
any particular aspect.
Scores are reported for each module and as total.
Example output from a i7-7500U-based system (benchmark compiled with GCC
7.2.0 using -O2 -march=native):
stdcbench already seems quite reasonable for benchmarking integer
performance. However, there is still work to do:
1) Come up with module(s) for floating-point performance. What matters
for embedded systems? How should correctness be verified for floating-point?
2) Find out why the c90lib module hangs on C8051F120 (possible compiler
3) State run/reporting rules.
4) Benchmark a few interesting systems
6) Create a website or write a paper about the benchmark and the results.