Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:77737 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 50504 invoked from network); 1 Oct 2014 13:47:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Oct 2014 13:47:18 -0000 Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.47 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.192.47 mail-qg0-f47.google.com Received: from [209.85.192.47] ([209.85.192.47:51603] helo=mail-qg0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F6/91-37933-5E50C245 for ; Wed, 01 Oct 2014 09:47:17 -0400 Received: by mail-qg0-f47.google.com with SMTP id i50so274877qgf.6 for ; Wed, 01 Oct 2014 06:47:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=XMCX2+EO99mn9zkn1FK79teWajCvUVxbgGMzFwET/kc=; b=NJiZcJ/6rffk0EG8ciJ7lO57T9Z+Z5eg1khVpglnrxKLU7UmseEcWm9y2aTqGZzy4F sScnz62JzkW7x+tzwY12ZsyZ17DMxMOZ2ah4km+eoDAjmbC1bacyDXVnUh0i1Y4QH1xV uw0QZnqPxwYBOQxxV1PK3he+8ZJ4/Qo6p90PocxgwZMFiEe3oARfxfVuB68OKufsRqZY DpX03OpODc3pm5AU1TmSPU9OIGpt5Vg5IhflKFWSoWKbsJsvHAKKl+Pfm384mMi0vPMa JTplX2N1dU55nE7cN29ooc+urs+VebhMCa+ziK8CZjC+tMGWPO5IUXgA5zvzATBX59KN SjQA== X-Received: by 10.140.102.238 with SMTP id w101mr12692078qge.17.1412171234079; Wed, 01 Oct 2014 06:47:14 -0700 (PDT) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.140.101.172 with HTTP; Wed, 1 Oct 2014 06:46:33 -0700 (PDT) In-Reply-To: <1412168938.18768.36.camel@kuechenschabe> References: <472D9D28-4AD7-4B98-BBEE-A613F7FCA996@golemon.com> <004AF0D4-A329-46AB-BFE4-79CDE530BFA4@ajf.me> <1412168938.18768.36.camel@kuechenschabe> Date: Wed, 1 Oct 2014 15:46:33 +0200 X-Google-Sender-Auth: zZR9CqbZ9ZkCcQWiFQQze7GOfqw Message-ID: To: =?UTF-8?Q?Johannes_Schl=C3=BCter?= Cc: Ferenc Kovacs , "guilhermeblanco@gmail.com" , Andrea Faulds , Sara Golemon , PHP internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] Move pecl_sync to core From: jpauli@php.net (Julien Pauli) On Wed, Oct 1, 2014 at 3:08 PM, Johannes Schl=C3=BCter wrote: > On Wed, 2014-10-01 at 14:26 +0200, Ferenc Kovacs wrote: >> . >> personally I think that a pecl extension needs to have stronger argument= s >> to be bundled with php-src than the fact that it would probably create a >> bit more exposure for the ext. >> > > Fully agree and mind this: > > For an average user it doesn't really make a difference if we bundle it > or not - linux distributions move even bundled extensions into own > packages and package pecl ones, too. On Windows installers bundle pecl > things too. > > For the extension maintainer not being bundled has the benefit of having > its own release cycle. They are not bound to core PHP's rules and add > minor features as they like and roll bug fixes as needed, while even > fixes are simpler - they don't have to merge between as many branches. > > For core PHP having it in PECL has the benefit that a showstopper in the > extension won't stop the PHP release. If the extension takes a week more > that is fine. > > One might say that is a downside of using pecl that less people test it > and in core the extension would receive more attention but I seriously > doubt that many core developers enable all extensions (lester i.e. > rightfully complains about the lack of attention on firebird) > > Now looking at this specific thing: PHP is a shared nothing environment > for handling web requests. By having the isolation between request > containers we can easily scale PHP by adding more machines, which is > easy as we don't share state. sync does the opposite, its purpose is to > break this isolation and offering a way to make request dependent on > each other. There are cases where this is useful and it is great that we > have a module with this option but in my opinion is not what PHP core > should do. And yes, we have sysvmsg, sysvsem and sysvshm in the core > distributions, but in my opinion more due to the fact that they predate > pecl by a few years. That's a good sum-up. Locking is the opposite of PHP model, which is based on non-locking model, fire-and-forget , scale easilly And seriously, if you need locking, mutexes etc... in PHP, then you should probably write your stuff in C or Java. The PHP engine can't fully support such concepts to provide them to userland, or at least it won't be cheap in human effort to have such a thing reach a stable state so that we can ship it into PHP. This is not a troll, or a "go away from PHP", please don't feel offended , but PHP is just not designed to do that, this is not the language you'll use when you face such problems. PHP is mature, but still has a target, don't target something its not been designed for. Julien.Pauli