Let me know if the attachment doesn't come through again and I'll post it
on the web
Date: Thu, 22 Jul 2004 14:30:00 -0700
To: internals@lists.php.net
From: Andi Gutmans andi@zend.com
Subject: [PHP-DEV]realpath()
cachingHi guys,
Before 5.0.0 we promised we'll get something together for solving the
performance problems caused by Zend alwaysrealpath()
'ing include files
(in expand_filepath()).
Attached is a proposed implementation of such a cache. We tried to make it
as simple as possible and tests shows that it solves the performance problems.
A few facts about it:
a) Expiration and Cache size are still hardcoded and not INI options in
tsrm_virtual_cwd.h. Didn't want to go through the trouble of doing it
because we agree on the implementation.
b) tsrm_hash.* is a full blown hash and not a stripped down hash which is
all that's needed for this. It'll be stripped down.
c) In my opinion and tests, having a memory limit on the cache works great
because it makes sure the cache doesn't go crazy and even in like 16K of
memory you can usually cache all of therealpath()
's.
d) Current expiration for an entry is 2 minutes which is also plenty.
e) I wouldn't make it much more complicated or "smarter" than this because
it'll just add lots of code and will probably not perform much better.Comments welcome. Let's get this baby into PHP 5.1!
Andi
Andi Gutmans wrote:
Let me know if the attachment doesn't come through again and I'll post
it on the web
It didn't
// Tom
At 03:18 PM 7/22/2004 -0700, Andi Gutmans wrote:
Let me know if the attachment doesn't come through again and I'll post it
on the webDate: Thu, 22 Jul 2004 14:30:00 -0700
To: internals@lists.php.net
From: Andi Gutmans andi@zend.com
Subject: [PHP-DEV]realpath()
cachingHi guys,
Before 5.0.0 we promised we'll get something together for solving the
performance problems caused by Zend alwaysrealpath()
'ing include files
(in expand_filepath()).
Attached is a proposed implementation of such a cache. We tried to make
it as simple as possible and tests shows that it solves the performance
problems.
A few facts about it:
a) Expiration and Cache size are still hardcoded and not INI options in
tsrm_virtual_cwd.h. Didn't want to go through the trouble of doing it
because we agree on the implementation.
b) tsrm_hash.* is a full blown hash and not a stripped down hash which is
all that's needed for this. It'll be stripped down.
c) In my opinion and tests, having a memory limit on the cache works
great because it makes sure the cache doesn't go crazy and even in like
16K of memory you can usually cache all of therealpath()
's.
d) Current expiration for an entry is 2 minutes which is also plenty.
e) I wouldn't make it much more complicated or "smarter" than this
because it'll just add lots of code and will probably not perform much better.Comments welcome. Let's get this baby into PHP 5.1!
Andi
Let me know if the attachment doesn't come through again and I'll post it
on the web
It didn't.
- Andrei