I used W3 Total Cache. It generates a static file and puts it in apache's search path, so it never hits PHP
total cache, super cache, most of them create static html versions of the page. Super Cache is a bit more clever in that it depends on htaccess instead of PHP code to check to see if the on-disk cached version exists. The benefit here is PHP module does not need to fire up -- apache can serve this very rapidly with little memory footprint.