Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:66167 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47276 invoked from network); 23 Feb 2013 03:57:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Feb 2013 03:57:13 -0000 Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.128.176 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.128.176 mail-ve0-f176.google.com Received: from [209.85.128.176] ([209.85.128.176:57354] helo=mail-ve0-f176.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 34/81-35372-81E38215 for ; Fri, 22 Feb 2013 22:57:12 -0500 Received: by mail-ve0-f176.google.com with SMTP id cz10so1123004veb.7 for ; Fri, 22 Feb 2013 19:57:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:x-gm-message-state; bh=jxlLyTCP3R7Bdvg852tmm0S7njNO6OPFYGuMR1/P0H8=; b=GEVex3C/dj0yKVoWP76kw8RQf9/qiR4sz4Ak3h++inKQLOgvDW59VCnkwM7Z8VV2Xd 2OZdOS0w8VWXCxyuKZbn89m7A288mdSNz6nfxMGpqjoWO33iciIvMrNDuEgCqA4UJfVG nX4/4Zn0SnwCQyYk/UHQulcPvlmfzj3um2lwVI7bxA5M2fZlI9V/71DIODKJMCGKJbsX C7lOluAa8+XDaukuUbntTBgDsE5VHUBmqwtBpMrV+WcS9lOtIwfqcwr1SOdBmwpBXAIg ua0Ih7YITYv4B1HAadtmbAGcCv9zkoRyG13D33HwyekbtZ79wS6/f2OBKGtZiNP1u9b4 N6oQ== X-Received: by 10.52.64.208 with SMTP id q16mr5020592vds.93.1361591829836; Fri, 22 Feb 2013 19:57:09 -0800 (PST) Received: from [192.168.200.148] (c-50-131-44-225.hsd1.ca.comcast.net. [50.131.44.225]) by mx.google.com with ESMTPS id l5sm7482843vdi.4.2013.02.22.19.57.08 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 22 Feb 2013 19:57:09 -0800 (PST) Message-ID: <51283E13.7010500@lerdorf.com> Date: Fri, 22 Feb 2013 19:57:07 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: Dmitry Stogov CC: Stas Malyshev , PHP internals , Zeev Suraski References: <511BC60E.4090409@lerdorf.com> <1121490185476198887@unknownmsgid> <511C0B39.50407@lerdorf.com> <511C78D0.3040501@lerdorf.com> <511C7F82.9030108@sugarcrm.com> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQnfpNvhmAxgUVIG05/XYSGbexxbeB9dETPfnrCSbB5RVatoGG7zofvJLV2wCWzeJU6X0U/A Subject: Re: [PHP-DEV] Zend Optimizer+ Source Code now available From: rasmus@lerdorf.com (Rasmus Lerdorf) Hey Dmitry, I noticed today that ZO+ doesn't make use of sapi_get_stat() to get the initial stat struct from the sapi if available. So, if you have top-level a.php that includes b.php and c.php you end up with: stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0 stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0 stat("/var/www/b.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0 stat("/var/www/c.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0 whereas with APC you have: stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0 stat("/var/www/b.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0 stat("/var/www/c.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0 That initial stat on a.php is done by Apache and because ZO doesn't grab that existing stat struct from the sapi it has to re-stat the top-level script. Was this an intentional thing to leave out or just an oversight? -Rasmus