Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:11487 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25741 invoked by uid 1010); 22 Jul 2004 22:18:38 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 25662 invoked from network); 22 Jul 2004 22:18:37 -0000 Received: from unknown (HELO mail.zend.com) (80.74.107.235) by pb1.pair.com with SMTP; 22 Jul 2004 22:18:37 -0000 Received: (qmail 17377 invoked from network); 22 Jul 2004 22:18:34 -0000 Received: from localhost (HELO AndiNotebook.zend.com) (127.0.0.1) by localhost with SMTP; 22 Jul 2004 22:18:34 -0000 Message-ID: <5.1.0.14.2.20040722151809.02abfeb8@127.0.0.1> X-Sender: andi@127.0.0.1 X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 22 Jul 2004 15:18:32 -0700 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_72408748==_" Subject: Fwd: [PHP-DEV] realpath() caching From: andi@zend.com (Andi Gutmans) --=====================_72408748==_ Content-Type: text/plain; charset="us-ascii"; format=flowed 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 >Subject: [PHP-DEV] realpath() caching > >Hi guys, > >Before 5.0.0 we promised we'll get something together for solving the >performance problems caused by Zend always realpath()'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 the realpath()'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 > > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php --=====================_72408748==_--