EarlGray/c4 edit / delete

c4 extended to be a JIT compiler. This is now moving into tcc territory...

to c compiler cute-code jit ... on 18 January 2015

rswier/c4 edit / delete

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 — Numba edit / delete

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

to c c++ compiler gcc lto optimisation ... on 28 April 2014

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

Browser bookmarks: tasty+ | tasty= Log in | Export | Atom

Tags related to compiler

- compiler
 
1 + 1802
3 + 6502
2 + 6809
1 + 8bit
1 + abi
1 + ag0700
3 + ag0803
1 + ai
1 + algol
3 + amiga
2 + amusements
1 + apple2
1 + assembler
1 + atari
1 + atomic
1 + autocode
1 + backdoor
1 + backend
1 + bbc
1 + bcpl
1 + bell-labs
3 + benchmarking
1 + bindings
1 + binutils
1 + build
1 + bytecode
23 + c
11 + c++
1 + c++11
2 + c64
2 + c99
1 + cas
1 + clang
1 + cmp201
5 + cmp409
1 + coco
1 + commodore
4 + concurrency
1 + confidence
1 + continuations
1 + coroutines
1 + correctness
3 + cpm
1 + cpp
1 + cross
1 + cross-compile
2 + cross-compiler
3 + cute-code
1 + debian
1 + debugging
1 + decompiler
3 + design
1 + dice
1 + dragon
1 + e
1 + editor
1 + effect-size
2 + electronics
1 + embedded
1 + emscripten
1 + emulation
1 + error
2 + etext
2 + floating-point
1 + formal-methods
1 + fortran
1 + fp
3 + fpga
3 + functional
1 + fuzzing
1 + games
9 + gcc
1 + generics
1 + gnu
1 + gpgpu
2 + gpu
1 + grammar
1 + gtk
1 + hardening
12 + haskell
4 + history
1 + ice
1 + indentation
1 + independence
3 + interpreter
1 + ir
1 + iso
2 + java
5 + javascript
3 + jit
3 + language
14 + language-design
1 + lexer
1 + library
1 + linker
2 + lisp
10 + llvm
1 + loop
1 + low-level
1 + lto
1 + macro
1 + make
1 + mali
3 + maths
1 + metaprogramming
1 + mingw
1 + minimal
1 + ml
1 + mud
2 + numeric
1 + numpy
1 + ocaml
5 + occam
1 + oo
1 + ooc
1 + opencl
10 + optimisation
2 + papers
1 + parallel
9 + parsing
2 + pascal
1 + pcc
3 + performance
3 + perl
1 + pli
1 + pocl
2 + porting
4 + programming
20 + python
1 + quake
2 + reproducibility
64 + research
17 + retrocomputing
2 + reverse-engineering
3 + security
34 + software
2 + static-checking
3 + statistics
1 + swig
1 + syntax
1 + tcl
3 + teaching
1 + templates
2 + testing
1 + timing
1 + to-package
4 + tock
1 + toolchain
1 + transactional-memory
2 + translation
1 + type-checking
1 + type-inference
2 + types
2 + unix
1 + varan
1 + verilog
1 + vhdl
7 + vm
1 + vms
1 + web
1 + win32
2 + z80