C++ and C Efficiency by David Spuler