On Wed, Nov 21, 2012 at 2:35 PM, Dmitry Stogov <dmi...@zend.com> wrote:
> [see below]
>
> On Wed, Nov 21, 2012 at 6:39 AM, Laruence <larue...@php.net> wrote:
>>
>> 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.
>
>
> You should just use  virtual_realpath() or tsrm_realpath() instead of
> stat(). They must utilise realpath cache and avoid stat() calls.
Hey:

  Thanks, Dmitry,

  actually,  I didn't do like that is because by default, realpath
cache has 2min ttl.

  but, after a second think,  I think this will be better than my
current tricky implementation.. I will try in this way :)

thanks
>
> Thanks. Dmitry.
>
>>
>>    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/
>
>



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to