Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65359 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20892 invoked from network); 29 Jan 2013 11:44:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 29 Jan 2013 11:44:27 -0000 Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.211.66 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.211.66 config.schlueters.de Received: from [217.114.211.66] ([217.114.211.66:61700] helo=config.schlueters.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 88/22-10721-B16B7015 for ; Tue, 29 Jan 2013 06:44:27 -0500 Received: from [192.168.2.20] (ppp-93-104-29-211.dynamic.mnet-online.de [93.104.29.211]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by config.schlueters.de (Postfix) with ESMTPSA id 4FD00653D0; Tue, 29 Jan 2013 12:44:24 +0100 (CET) To: Pierre Joye Cc: Zeev Suraski , PHP internals In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Date: Tue, 29 Jan 2013 12:45:21 +0100 Message-ID: <1359459921.3916.105.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Subject: RE: [PHP-DEV] ZTS - why are you using it? From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) On Tue, 2013-01-29 at 12:15 +0100, Pierre Joye wrote: > > Laziness and design mistake. Everything on windows (AD,IIS, asp.net, > etc) > uses thread. Well, most other things don't create "shared-nothing" environments like PHP does. ASP, not only due to the Application object, for instance isn't shared-nothing like PHP but sharing state. So what we're doing, basically, is emulate a separation of threads, similar to what an operating system should do with processes. Of course an opcode cache isn't shred-nothing either, and maybe sharing opcodes within a process is faster than doing this in shared memory. > > Miss the rest of my mail or? Current implementation is outdated and > slow. That is true. Many modern compilers and environments provide better support for thread local storages .... What I see is that TSRM brings a lot of complexity and introduces risk of bugs in there as many developers don't think about. Most of us are focused on the nice and simple world of single-threaded computing. And I assume that we can still find quite some threading bugs when going on a hunt for them ... so besides of pure executable performance there is also the cost of developer power for (proper) maintenance ... johannes