Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:64758 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 46936 invoked from network); 9 Jan 2013 16:35:26 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Jan 2013 16:35:26 -0000 Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.220.173 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.220.173 mail-vc0-f173.google.com Received: from [209.85.220.173] ([209.85.220.173:64311] helo=mail-vc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/EE-02684-C4C9DE05 for ; Wed, 09 Jan 2013 11:35:25 -0500 Received: by mail-vc0-f173.google.com with SMTP id f13so1736962vcb.4 for ; Wed, 09 Jan 2013 08:35:21 -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=f6i6cP07DOoL9yzhpoZQnQ3Kx0KxBzix4QO3D21BaNc=; b=RBJFLuCKZLcsXLXjbHv4EAPHj/Q3sjevRGF1O5R8Y40dkV8RIJQ9HlyHosYS6COO0w OxuApzX9ZvxJRNSUO6Rz6O/52sGAAf2R45jOY11s2J0lCUC72b0ihck8803NnYMx1iag CGcWmIwYStV1T3I2lSN0kt+b2OXS56kRyduHlBA39S4UqEzI8u0HRRU30ZskaxdsDyGB VV72lytPWtp0e+qmYpZ0189QptLH0H3JYB1dhyNotLIvlFtbctrlJqrsNDv+/6ESZpOD OuTIs3tJkqfzEX2fEQuKzerCBRTbgkeDeftBl/jOsI1pHWj5Ej+sz0gcjefJ4H6hq9L5 iOPA== X-Received: by 10.52.98.98 with SMTP id eh2mr77641181vdb.64.1357749321498; Wed, 09 Jan 2013 08:35:21 -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 v12sm45646179vem.13.2013.01.09.08.35.19 (version=SSLv3 cipher=OTHER); Wed, 09 Jan 2013 08:35:20 -0800 (PST) Message-ID: <50ED9C46.40103@lerdorf.com> Date: Wed, 09 Jan 2013 08:35:18 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Derick Rethans CC: Rafael Dohms , Stas Malyshev , Pierre Joye , Pierrick Charron , "internals@lists.php.net" References: <50EBDEEE.8070605@sugarcrm.com> <50EC6569.6030202@sugarcrm.com> <50EC917C.3070805@sugarcrm.com> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmPCJ6ReC3BkOCv+DrD09k2jYvSCRgpX/qp9fDZJ/V1QYZhldCM1I/XPAZqoe6b4F3RA5LZ Subject: Re: [PHP-DEV] [RFC] Reflection annotations reader From: rasmus@lerdorf.com (Rasmus Lerdorf) On 01/09/2013 04:16 AM, Derick Rethans wrote: > On Tue, 8 Jan 2013, Rafael Dohms wrote: >> 1. The syntax is crap: this is solvable, let's find the right syntax > > Any extra syntax makes the PHP parser more complicated (and arguably > slower). I don't want to have it slower/more complex for some arbitrary > extra syntax just for some weird annotations. This is my worry as well. Especially when it comes to opcode cache support. Most of the patches I see these days completely ignore the opcode cache side of things which needs to change. For any large language-level change, any implementation that doesn't also include an APC diff, or at least a very complete explanation of how it will be generally supported by opcode caches just isn't complete. In this case, attaching annotations/properties to classes will definitely affect APC since we cache classes separately and NOP their creation out of the op_arrays. So any extra opcodes will have to be optimized out and the resulting class created and cached correctly. -Rasmus