Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:93305
Return-Path: <pierre.php@gmail.com>
Mailing-List: contact internals-help@lists.php.net; run by ezmlm
Delivered-To: mailing list internals@lists.php.net
Received: (qmail 59058 invoked from network); 13 May 2016 05:36:13 -0000
Received: from unknown (HELO lists.php.net) (127.0.0.1)
  by localhost with SMTP; 13 May 2016 05:36:13 -0000
Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass
Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass
Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.52 as permitted sender)
X-PHP-List-Original-Sender: pierre.php@gmail.com
X-Host-Fingerprint: 209.85.218.52 mail-oi0-f52.google.com  
Received: from [209.85.218.52] ([209.85.218.52:33307] helo=mail-oi0-f52.google.com)
	by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP
	id 89/20-54806-CC765375 for <internals@lists.php.net>; Fri, 13 May 2016 01:36:12 -0400
Received: by mail-oi0-f52.google.com with SMTP id v145so154583755oie.0
        for <internals@lists.php.net>; Thu, 12 May 2016 22:36:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc;
        bh=KrLZ15CwYyQeaPMmwEd7pyYLTgET4Br9bBCxI946Aiw=;
        b=Aj+TyULKlOjhYvzOzFXakhA8nejz0v90ihSxYXwMLNiBPbBFDhTuAmJX5HUnEF4svl
         zmewBx56bu2hIAHGSSbjLz7ziS5p/9P/XcLkb7xKvDPeSbbaKSPRt4d/6nP8p0akTMhC
         cwxv6gU81BRoOBKUKpIEUFTv6M8EqwTaM+QggPfS4FdpLgH2YlYVyycJ6XJ9LGHVmhQi
         opEuM3WY9qRqb0afEiBc9IqoFbXG+Jw57gkoqjFigIsKaD2wYRuODhMMX42d3wiIC0sA
         mAjx/Xt0Dl5jjKIyjsyKpaQ/Au3WphATWG3UYPgeybAMYIjt23ZlEgApNcvnBm421Z/3
         ld3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:date
         :message-id:subject:from:to:cc;
        bh=KrLZ15CwYyQeaPMmwEd7pyYLTgET4Br9bBCxI946Aiw=;
        b=bZS3/U388P/ZBjvM0M1BfmI9HOtezCup86R9lJjct/eNGk9GeLqvyhES+oEiZvpyAV
         jccg8CTrb/Emj0RNcj/2C0grScSJ5RvfTHMEMF0X72zrHFyTnzbVrby9f+Gsb0ZCOP5A
         dafeo5FlEGx0RrZDjZNXnqJ2ws0ceUGTWMvdvSYCMpaVDN2fEkaZhXsWifTs4TM6LYNV
         sPfcvNShIr5lHEt1/4p7laa5vzEW2zsqUoD6s/CNu3m95zsBr+myS1VpdYrHIQC0FEod
         yiqMSz/qXaneMFx+2Z974j8qB2qPaxx4eQb3S5iF/L5wjScnk4Q4VPKBI87TNyXNwy/J
         CiTw==
X-Gm-Message-State: AOPr4FXoWS9lEpNUPsGvHSaYdIKMaOAgVHSQe4A4HA/P4E1+4dmfPVoK7IpZTupf4GYGVGtppQUf1uaudKIAXw==
MIME-Version: 1.0
X-Received: by 10.157.25.140 with SMTP id k12mr929016otk.82.1463117769467;
 Thu, 12 May 2016 22:36:09 -0700 (PDT)
Received: by 10.202.215.193 with HTTP; Thu, 12 May 2016 22:36:09 -0700 (PDT)
Received: by 10.202.215.193 with HTTP; Thu, 12 May 2016 22:36:09 -0700 (PDT)
In-Reply-To: <CAFp73Xs_9C7crXR0mVbE7SAvkdM345LgxCCd0DMBRKvY0W41JQ@mail.gmail.com>
References: <CAFp73Xs_9C7crXR0mVbE7SAvkdM345LgxCCd0DMBRKvY0W41JQ@mail.gmail.com>
Date: Fri, 13 May 2016 12:36:09 +0700
Message-ID: <CAEZPtU7=W1jo1ccUna0Xusmr=RmY1pwWgKYr07oO35Kb6bCngA@mail.gmail.com>
To: Guilherme Blanco <guilhermeblanco@gmail.com>
Cc: PHP internals <internals@lists.php.net>
Content-Type: multipart/alternative; boundary=94eb2c09b6f6e9f1eb0532b2a656
Subject: Re: [PHP-DEV] Assess acceptability of having php-ds into core
From: pierre.php@gmail.com (Pierre Joye)

--94eb2c09b6f6e9f1eb0532b2a656
Content-Type: text/plain; charset=UTF-8

Hi

On May 13, 2016 8:28 AM, "guilhermeblanco@gmail.com" <
guilhermeblanco@gmail.com> wrote:
>
> Hi internals,
>
> PHP 7 leverages a lot the performance internally and many PHP applications
> in the wild. Much of these improvement came by experimentation through
> PHPNG and the usage of efficient data structures internally. This idea of
> performance improvements are crucial to handle more requests, reduce
server
> overload, etc.
>
> However, what lacks in PHP is the exposure of more efficient, use case
> specific data structures, that could allow end users to easily improve
> performance of their applications, instead of using a general,
> multi-purpose data structure that we have as "array".
>
> Based on that (please keep in mind I haven't spoken with library author),
> I'd like assess the receptability of incorporating php-ds library into
core.
>
> Library author wrote a good (and lengthy) article explaining his
motivation
> and performance benchmarks around it. Here are the related links:
>
> Article:
>
https://medium.com/@rtheunissen/efficient-data-structures-for-php-7-9dda7af674cd
> Extension: https://github.com/php-ds/extension
> Polyfill: https://github.com/php-ds/polyfill
> Tests: https://github.com/php-ds/tests
> Benchmark: https://github.com/php-ds/benchmarks

I like this ext. Good work.

However I am not a fan to include as is. Many duplicates with spl. And we
know too well that (standard)pl is a kind of a mess as it gets everything
possible without too much thoughts about consistent APIs or if it makes
sense. Or if one part fits better in the engine directly.

Adding yet another extension to achieve  similar goals, even if it is
better, is not going to help to improve the situation, in contrary.

I would prefer to discuss each structure individually to see if we need it,
where it should be and how it should be done from an api pov.

Cheers
Pierre

--94eb2c09b6f6e9f1eb0532b2a656--