Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:35918 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83766 invoked from network); 3 Mar 2008 18:59:49 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Mar 2008 18:59:49 -0000 Authentication-Results: pb1.pair.com smtp.mail=stas@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=stas@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.162] ([212.25.124.162:45440] helo=mx1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 62/6D-29055-3AA4CC74 for ; Mon, 03 Mar 2008 13:59:48 -0500 Received: from us-ex1.zend.com ([192.168.16.5]) by mx1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 3 Mar 2008 20:59:59 +0200 Received: from [192.168.16.221] ([192.168.16.221]) by us-ex1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 3 Mar 2008 10:59:55 -0800 Message-ID: <47CC4A9D.1080705@zend.com> Date: Mon, 03 Mar 2008 10:59:41 -0800 Organization: Zend Technologies User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: Marcus Boerger CC: internals@lists.php.net References: <1706278209.20080302232134@marcus-boerger.de> <47CB2E9D.6010102@zend.com> <1642796941.20080303002651@marcus-boerger.de> <47CB8107.1090802@zend.com> <1207450994.20080303113313@marcus-boerger.de> In-Reply-To: <1207450994.20080303113313@marcus-boerger.de> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 03 Mar 2008 18:59:55.0813 (UTC) FILETIME=[C5281550:01C87D60] Subject: Re: [PHP-DEV] [RFC] Replace the flex-based scanner with an re2c [1] based lexer From: stas@zend.com (Stanislav Malyshev) Hi! > 1) If mmap is supported, then use it > 2) If mmap is not supported or does not work then read the whole stream > 3) If that is not possible read char by char Why should it read the whole stream into memory? The file could be very big, maybe it would make more sense to read it is some chunks? BTW, I see there are some substantial changes in streams there - new file type ZEND_HANDLE_MAPPED, new "fsizer" handler. Will they be dsecribed somewhere so other places which deal with streams could be updated if there's need? Does it have any implication on extensions etc. or it's isolated? >> party library in PHP 5 core. Of course, PHP 6 has this dependency, but >> we might want to not have such things in 5.x so that you won't have to >> change your system too much while staying on 5.x. > > Are you saying we cannot depend on ICU in PHP 6 and have to redo it > completely or what? Just curious who you were answering to... Anyway, to be clear: 1. PHP 6 is major version with its major feature being Unicode support. 2. PHP 5.x is same-major branch, where you are not expected to have to change your system in order to upgrade. 3. We do not expect people to take PHP 6 and have absolutely everything work instantly from PHP 5. We try to minimize upgrade path, but major version upgrades can take some adjustments. 4. We expect people to upgrade from 5.2.x to 5.3.x without changing their systems. Is it clearer why I think PHP 5.x and 6 are different and why I think ICU dependency in the 5.3 core might be a problem? > I Know there is some work left but when we do not apply the work now then > we basically have two engines. In that case I'll just rewrite the engine > completely and replace it. I think better to have two engines one of which we can release than have no release-able engine at all. Again, if you say you are 100% sure that can be figured out quickly and not delay 5.3 release cycle to Q2 or Q3 - great, let's do it. Since we were not going to have any major changes in the engine until 5.3 is out anyway - the gap between your code and CVS code won't be substantial. You could use a branch to make it even easier. As for rewriting the engine - I think that would be just a waste of effort. -- Stanislav Malyshev, Zend Software Architect stas@zend.com http://www.zend.com/ (408)253-8829 MSN: stas@zend.com