Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78933 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36066 invoked from network); 18 Nov 2014 05:48:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2014 05:48:00 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.177 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.192.177 mail-pd0-f177.google.com Received: from [209.85.192.177] ([209.85.192.177:44832] helo=mail-pd0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5F/86-06780-F8DDA645 for ; Tue, 18 Nov 2014 00:47:59 -0500 Received: by mail-pd0-f177.google.com with SMTP id ft15so1749073pdb.22 for ; Mon, 17 Nov 2014 21:47:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=xak17vCOXfGHFeeZLx+f+MPNW6wrbav+/+97k+veYLw=; b=U1nF9FN0IgZ/cvIvROhXNeKu7TlIDtS7F+PWs/DTChf1QCQGNYE9BHRIf5yCH0+qY+ PSU1gUN17MPSrNxeKlOfKGLL4ZoKXjM8ogaMJ7o41ocb104eVrdeEdr0coda0F2+P5Ih WClN2hd3bMn6ttfrrZDZ6czznTxZOSQlzbV9Sy5qyoN5kOCc3z2WPzX5LxuPnZ4zjJ2R y4V6itsMw1Pvw451QSzFeFDlum1NnQcdmgsnzfyO4H5LXsftFFA+Jsj+jXPG81NjCcaa GXqzdPvm4erHNQkjnn3JO744L40rY2lL7wWytSoWut1+WfMJaVNYm5HBa384UhluJNgJ OIJg== X-Received: by 10.70.96.68 with SMTP id dq4mr34902958pdb.61.1416289676068; Mon, 17 Nov 2014 21:47:56 -0800 (PST) Received: from [192.168.2.102] (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by mx.google.com with ESMTPSA id wo3sm901108pbc.79.2014.11.17.21.47.54 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Nov 2014 21:47:55 -0800 (PST) Message-ID: <546ADD8A.20400@gmail.com> Date: Mon, 17 Nov 2014 21:47:54 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Dmitry Stogov , Xinchen Hui CC: Xinchen Hui , Nikita Popov , Anatol Belski , PHP Internals References: In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: Use zend_string* for op_array->arg_info[].name and class_name From: smalyshev@gmail.com (Stanislav Malyshev) Hi! >> we only need do it in master process, and mark as interned(with hash >> precalculated), no write will be happened, so thanks to COW on fork, we >> won't need lots of extra memory. >> > > It's not true for Windows. > On Linux we would copy arg_info from shared read-only segment into process > heap memory, then some blocks may be COW or not depended on luck. How bad would it be? Given that significantly simplifies the code, and does not require to check and write two branches each time we deal with arginfo, maybe it is worth to spend some memory (given that we only spend it once on init)?