Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93305 Return-Path: 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 ; Fri, 13 May 2016 01:36:12 -0400 Received: by mail-oi0-f52.google.com with SMTP id v145so154583755oie.0 for ; 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: References: Date: Fri, 13 May 2016 12:36:09 +0700 Message-ID: To: Guilherme Blanco Cc: PHP internals 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--