Expose zend_message_dispatcher_p
| From: | Laruence | Date: | Wed, 21 Nov 2012 02:39:50 +0000 |
| Subject: | Expose zend_message_dispatcher_p | ||
| Groups: | php.internals php.pecl.dev | ||
| Request: | Send a blank email to internals+get-64000@lists.php.net to get a copy of this message | ||
Hey:
This problem come out when I was figuring a performance issue of Yaf_Loader.
Yaf provides a autoloader like PSR0, when doing a classes
autoloading. it used to:
1. stat the file, if file does not exists, return
2. zend_compile_file
this is okey when you run yaf without opcode cache.
but when you run yaf with opcode cache, the first stat syscall
become a little waste.
since opcode cache always hook the zend_compile_file, and compile
the file from cache.
so, I changed the autoload to:
1. zend_compile_file
2. if compile failed, then return.
but, zend_compile_file will throw warning if the file doesn't
exists via zend_message_dispatcher_p
so if zend_message_dispatcher_p is ZEND_API, then I can avoid using
such mess codes:
https://github.com/laruence/php-yaf/blob/master/yaf_loader.c#L377
what do you think?
thanks
--
Laruence Xinchen Hui
http://www.laruence.com/