Does the unset() function really make a performance difference in scripts that pass around a large number of 500kb variables?
unset will reduce memory requirements, but is a minor player in the whole optimisation scheme. Check out: http://phplens.com/lens/php-book/optimizing-debugging-php.php for solutions on how to get your code to execute around 50% faster. There are many tweaks, and the page also explains how the code is run on the server. As usual general programming tweaks such as limiting file access, tight loops, etc will also help with speed.