I found WWDC a disappointment. It felt like half last years conference and half a web conference. I went last year and there are better places to learn AJAX. So it is nice to see Apple doing interesting things.

LLVM (Low Level Virtual Machine), which Apple is involved in, could be described as compiler infrastructure. That is it can be used to replace various aspects of compilers. It is very clean, neat and well designed system that provides optimisations at various levels, including compile and run-time.

Why is this neat? Well it provides very good optimisations. One comparison has the LLVM JIT performing 20% faster than gcc4.2 and 100% faster than gcc4.0.1 (which Apple currently ships) for one benchmark. For those that are interested I think the best way to learn about LLVM is to read the experiences of Reid Spencer’s implementation of creating Stacker which is a Forth-like language which compiles to an LLVM backend.

There is already a C/C++ LLVM frontend and Apple is working on a very nice new C frontend. Have a look at some interesting presentations. The presentation I thought was most interesting is Steve Naroff’s New LLVM C Front-end. Especially look at the error messages it can produce.

Apple also use it for GLSL just in time compilation to provide OpenGL shader support for features unsupported by video cards. Chris Lattner also presents an overview of the more technical side of this functionality.