Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74570 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 85304 invoked from network); 28 May 2014 12:57:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 May 2014 12:57:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=zeev@zend.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=zeev@zend.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain zend.com from 209.85.220.174 cause and error) X-PHP-List-Original-Sender: zeev@zend.com X-Host-Fingerprint: 209.85.220.174 mail-vc0-f174.google.com Received: from [209.85.220.174] ([209.85.220.174:52834] helo=mail-vc0-f174.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D0/7A-30361-12DD5835 for ; Wed, 28 May 2014 08:57:06 -0400 Received: by mail-vc0-f174.google.com with SMTP id hq11so6541378vcb.19 for ; Wed, 28 May 2014 05:57:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc:content-type; bh=GMrOkZ4XvAWlkKYw7QQErjV6W33deMYNQp/JNEeb848=; b=dAz3huQXntWjQtsR/rMqrwxiGZEfZ6NNwWn4e1AMd7cU5SgaN7iJFnvQJPTqPM0yBr pCgTHXXmSRXRcK7TmOJ9GSVtDgAO5wHODH9LoJaiF8z/sp6mpJ1PID77z7pB2agwNj7C KSnpbC0uYVlfglU5t+FlQ2Z7Rs8zi4qUYjvOxo6O19xDcPXKNIeglDlRMG8uSYk3rWxO s8y9Zt2g1JmX2p0IMDd2stObqeErAkQ3HrcQZ7QXvziZqWLWUHfXZFOwmkzwmMn+hpKy ejX/4lyIjAwgLhyV17D48wwqh0HhafW1KOqiSOfSbStnl5cdCZgxYeh+mZlAfdfgSbYU xfTw== X-Gm-Message-State: ALoCoQm3l79ZL3oBufYuEtzfvV+dQPcSEFzwdl2kb5pHcV6j8Uri8Md4JAbz7BEtpH8jcdckSkOYQLNBoItYtPr7Fi+qImtYbvObLlFaeWBwagAEn1TnVpdv9HNbmHaGG1vDHmCvX6JA X-Received: by 10.52.138.14 with SMTP id qm14mr1264595vdb.49.1401281822512; Wed, 28 May 2014 05:57:02 -0700 (PDT) References: <79B69A20-15AD-4C07-B026-61C2C9DEBBE5@ajf.me> <1400851698.2870.9315.camel@guybrush> In-Reply-To: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQLISQrsk8i2VcNg8ucmWRPPETiFcgHk0YpBAawlHKIB63UBsQKLrplnAvr8F5gCpuMfnJj3Bjow Date: Wed, 28 May 2014 15:57:01 +0300 Message-ID: <0a9e99300cfc9a7018878debffdb1abc@mail.gmail.com> To: Dmitry Stogov Cc: PHP Internals Content-Type: multipart/alternative; boundary=bcaec51b1daf42effc04fa7559f0 Subject: RE: [PHP-DEV] [RFC] Fast Parameter Parsing API From: zeev@zend.com (Zeev Suraski) --bcaec51b1daf42effc04fa7559f0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable FWIW, if we use it only in a small subset of the functions that we deem performance-sensitive, I think it makes a whole lot more sense. I can think that we can live with the inflation in CAPS and lines if it=E2= =80=99s limited to just a few dozen functions. It needs to be clear in the RFC though. Zeev *From:* Dmitry Stogov [mailto:dmitry@zend.com] *Sent:* Wednesday, May 28, 2014 3:40 PM *To:* Zeev Suraski *Cc:* Derick Rethans; Johannes Schl=C3=BCter; Andrea Faulds; PHP Internals;= Bob Weinand; Stas Malyshev; Xinchen Hui; Andi Gutmans; Nikita Popov *Subject:* Re: [PHP-DEV] [RFC] Fast Parameter Parsing API ~70 functions are in the patch. they selected using profiler feedback from Wordpress home page. Few functions are selected just to test rare argument specifiers (like 'C')= . We may convert few more functions profiling other apps. Thanks. Dmitry. On Wed, May 28, 2014 at 4:24 PM, Zeev Suraski wrote: Are there specific functions you think we should use it that could give us a 80/20 gain? I didn=E2=80=99t think of it as an optimization we=E2=80=99d only use in = =E2=80=98sensitive=E2=80=99 functions, but about wholesale migration from the current APIs to new ones. Zeev *From:* Dmitry Stogov [mailto:dmitry@zend.com] *Sent:* Wednesday, May 28, 2014 3:13 PM *To:* Derick Rethans *Cc:* Johannes Schl=C3=BCter; Andrea Faulds; PHP Internals; Bob Weinand; St= as Malyshev; Zeev Suraski; Xinchen Hui; Andi Gutmans; Nikita Popov *Subject:* Re: [PHP-DEV] [RFC] Fast Parameter Parsing API This API was designed to solve the existing bottleneck (5% CPU time lose). It's not proposed to be used in all functions, only in few really affected. Anyone may have their own opinion about readability (someones like Perl, others Ada). I appeal to think not about subjective readability, but about the cost of ownership for @internals and PHP users. Thanks. Dmitry. On Wed, May 28, 2014 at 3:49 PM, Derick Rethans wrote: On Fri, 23 May 2014, Johannes Schl=C3=BCter wrote: > On Fri, 2014-05-23 at 13:52 +0100, Andrea Faulds wrote: > > On 23 May 2014, at 12:36, Dmitry Stogov wrote: > > > > > Please take a look at https://wiki.php.net/rfc/fast_zpp > > > > > > Thanks. Dmitry. > > > > This looks like a great idea. I like how it=E2=80=99s not only faster, = but > > it seems to be more readable. > > More readable? - I feel exactly the opposite. Yes, we get rid of void > pointers but use a pattern easy to understand. This looks like macro > hell. I don't find it more readable either. From a single line, it goes to 7, and what if there are three different zpp calls (like in https://github.com/php/php-src/blob/master/ext/date/php_date.c#L4393) ? I know the old API is not going away, but I'm not just sure about this one... > If we break APIs anyways: Can't we go for C++ which allows providing > high level APIs with high performance ... no :-) cheers, Derick -- http://derickrethans.nl | http://xdebug.org Like Xdebug? Consider a donation: http://xdebug.org/donate.php twitter: @derickr and @xdebug Posted with an email client that doesn't mangle email: alpine --bcaec51b1daf42effc04fa7559f0--