createProxy( 'Foo', function (& $wrappedObject, $proxy, $method, $parameters, & $initializer) { $initializer = null; $wrappedObject = new Foo(); return true; } ); } var_dump('time after 1000 instantiations: ' . (microtime(true) - $startTime)); $proxy->doFoo(); var_dump('time after single call to doFoo: ' . (microtime(true) - $startTime));