« earlier | later » Page 4 of 15
c4 extended to be a JIT compiler. This is now moving into tcc territory...
A little self-hosting C subset interpreter. Very neat! Compare this with Diomidis Spinellis' little self-hosting C bytecode compiler in the IOCCC a while back...
to c compiler cute-code interpreter ... on 18 January 2015
PROMAL for the Commodore 64 edit / delete
An indentation-structured language for the C64. This would have been roughly contemporary with occam. Looks like quite a decent (B-ish) language.
to 6502 c64 commodore compiler indentation language-design retrocomputing software ... on 03 October 2014
Compiling Quake 3 Virtual Machines To JavaScript - inolen.com edit / delete
Worked example of the steps involved.
to compiler emscripten javascript quake ... on 24 August 2014
"Numba is an just-in-time specializing compiler which compiles annotated Python and NumPy code to LLVM (through decorators)."
to compiler jit llvm numeric numpy python ... on 28 April 2014
Honza Hubička's Blog: Linktime optimization in GCC, part 1 - brief history edit / delete
Excellent overview of the different whole-program optimisation strategies that GCC has explored. Some other good stuff about compiler optimisation on this blog too.
STABILIZER: statistically sound performance evaluation edit / delete
Neat trick: this uses some LLVM instrumentation to shuffle memory layout around in a program while it's running, to randomise the effects of layout on performance. As a result of the central limit theorem, this tends to normalise the distribution of timing errors too (provided your program runs long enough to have been thoroughly shuffled).
to benchmarking compiler llvm performance research statistics timing ... on 01 April 2014
Embedded in Academia : Compilers and Termination Revisited edit / delete
A surprising example of C++ optimisation -- optimising out a loop with no side effects other than non-termination.
to c++ compiler correctness optimisation ... on 01 April 2014
Rigorous Benchmarking in Reasonable Time - Kent Academic Repository edit / delete
Tomas Kalibera and Richard Jones' paper on how to do benchmarking that's actually meaningful -- presenting results as confidence intervals for effect sizes, with techniques to establish i.i.d. results and work out how many repetitions you need to do. Very nice work for a pretty short paper! (I've spent most of today chasing references from this in the interests of understanding the maths behind it...)
to benchmarking compiler confidence effect-size independence java performance reproducibility statistics vm ... on 26 March 2014
Producing wrong data without doing anything obviously wrong! edit / delete
Lots of examples of how environmental factors (e.g. environment variable size, room temperature, link order, ASLR...) can affect experimental results, to the tune of 20% or more. Basically: why pretty much any benchmark you've seen in a paper where the effect size isn't huge is probably nonsense.
to benchmarking compiler performance reproducibility research statistics ... on 26 March 2014
« earlier | later » Page 4 of 15
tasty by Adam Sampson.