Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93877 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 77069 invoked from network); 10 Jun 2016 15:24:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jun 2016 15:24:22 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 65.55.169.124 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 65.55.169.124 mail-bl2on0124.outbound.protection.outlook.com Received: from [65.55.169.124] ([65.55.169.124:19424] helo=na01-bl2-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AD/65-50092-4ABDA575 for ; Fri, 10 Jun 2016 11:24:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Qu30BHvwgP7wFf+cKK6mkeKzOa8tZxjt2W5bfMvP6Bk=; b=pJEWAnZcl0gNhqWyzbw6BPTplkY06kwsrAQS7EvlIyMd4b8742lcG4Iy40I12DJs5NUMQqcdVhHqicqQ31NK6ySYptPROhPG9Vd+b45VMv51WqWgKxzCqtdK/eTOmhiWEYItqvYoxyvfSK9TYpWJL0hAvHdmEp+gdsaUQsvex1c= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dmitry@zend.com; Received: from tpl2.home (92.62.57.172) by BY2PR0201MB1782.namprd02.prod.outlook.com (10.163.72.24) with Microsoft SMTP Server (TLS) id 15.1.511.8; Fri, 10 Jun 2016 15:24:15 +0000 To: Bob Weinand , Levi Morrison References: CC: Joe Watkins , PHP internals , Phil Sturgeon Message-ID: <5da22194-121c-571e-2be2-d33383c65b25@zend.com> Date: Fri, 10 Jun 2016 18:24:09 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [92.62.57.172] X-ClientProxiedBy: BN1PR02CA0036.namprd02.prod.outlook.com (10.141.56.36) To BY2PR0201MB1782.namprd02.prod.outlook.com (10.163.72.24) X-MS-Office365-Filtering-Correlation-Id: 6c3ea086-b114-4ce6-73d8-08d391434975 X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB1782;2:9tDB9l3vnsEePZyOfUp/0g8ZR+y4+0XbMizZCOcJeAwj524SygVvpAr9TyF4FMJyP1Pevb824P98sUY4AIDu1NZOeaS2cKPENXZR4Nc6WhaM+pdaeACZ+eYd0UM3HbdEuHnJ5sFyywxjm98gNj1KAjFu5+0K9gGu11+tSDyAM8j6Qc2q3awvnqCXvfarLmKx;3:PHLMnue+jsxmlcb/z08qsE4Lz78uAXrFpKxR2hz0Xg53duxc/vmc+2JAjmBtFOP/sPp1MpzKV5s29+m9/P/UxFgf3gLfcM6qORBOtqkrr7OEIJD/OiddsP77iEoxLLz3;25:KIm2DfISMGV/MYwEO8rfQnZpRRMaTmQHEeNZGb+jchOak0a/XVrBv4+xPc8IsfvF0g2LM8t9BWCetfQS9kYDandmZ5WHpm2ywn3RgYmT2IfwE49l5fOl0KAFKOAmYKRfzMa+pybedEFYyt4nikcCtH0j8Jkc3X5EoO+TkDbtHf4v4ta5Aeinm30nCVcF0sFl7uCC2pWGqzlXPLs7Fp5nII5C4tXWW6J1fyGsmppu9tsHzpWjEnF3Ru3w7thXKar1e/lzTMxDYw39aa0XL3o8ohXkIcTBhHGpn98Mlbcf40/IU9fJfOTBslcRcvdlCQx0vhLwjQ6ahNVGEktU+bWmcaT8WGoL13NHD8WWSfk26sxqa6gKJs/Vv4DfZR1PrcZzmHxZai/H/0f+opKV5gUfJDLsOz0OFmMLjgvPObBdfgE= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1782; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB1782;20:E4uR/LBOWTgIa382gubaaaYH5HPvvPfB0/+f2pBsS8yuhKuN1YeC/xknGzT76yMzEMly0of8dMPbI5PQ1taMK+XjO+MXgV1W2TeLSbB9YQem5Kr/brrYnUyLG3Zo5Lr268pwMHE8BFeFcMK+4IE+n8J/A12jcJ68hCXX8ckLVWJBqRxUR1d+DxFCtIWCIZ8DeIhXLs1VvoM35t3Rbj5ezOrscC3uivF9DHJkPjUQX3qHp2919IaTbcowfpNaqgZvVYDEPKXzZjQ7nd3oYgzGyw/ov7qonSp4SS1eZAL+pbUrZ7cY31+QwOhUQVZkz2K9B+Pbb6MQX9qJlifiUto2sUW0+0EUG2tDZGL4cmg5bJkelFpfRtw5H+IAKkFF5ThbUyKELcvpWDejXbce2O09B4uk1C6bjdRMNuOOYbmlpgIJAhFu5dvblV6cHiPIRdTXLoLIX5ZNcsGh1wyDZx7QEF7sIf48k047FZyPoAziqqIck6UQ1O/giVez6F4uuNxG;4:g3z0tTcydI/x4NJ9zfSSbq/nsd+DQbgvEpa/5HsjBjIXBXraw6NqQcOGpAwNYEHQ8rl7WjomuiZ6pMPmaJe7nPkAHs+Rp29ETme2gv/esSjEcDJy4wJ4BT3tIQLcszQIsm818WX0eqZTIyWHgbMOmspxCHd2tzt+iOMoVDpBKOY4HPFtGO8nH3+Z5XmLE0pl3dnkP0rZFUuysZJoQKnCycgKAI5PiZR5TEEXzQD8/BM5KSQvWA82ol2nDyQLn3YXvML6rMbufLsiKy1ArTZHO+QX0j3y8+l9y/jnwDapb0C86V2ihoKYPVmsEy3N5bGjMC5XnWZ00ifk24ZOuyzLMqHY20y41KWLvyhlUUzoUdynF4R9CgljL4NyBC9ql75O X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:BY2PR0201MB1782;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1782; X-Forefront-PRVS: 096943F07A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(377454003)(24454002)(189002)(199003)(19580405001)(2870700001)(19580395003)(586003)(64126003)(83506001)(86362001)(36756003)(101416001)(69596002)(6116002)(3846002)(2906002)(68736007)(31696002)(15975445007)(77096005)(76176999)(5004730100002)(50466002)(31686004)(105586002)(42186005)(5008740100001)(54356999)(106356001)(93886004)(97736004)(33646002)(50986999)(81166006)(2950100001)(47776003)(4001350100001)(189998001)(92566002)(81156014)(21086003)(66066001)(5001770100001)(4326007)(23676002)(65956001)(65806001)(8676002)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR0201MB1782;H:tpl2.home;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: zend.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyMDFNQjE3ODI7MjM6aGtuTENFdlNqdFlDa0pDNE84NWkydlJ3?= =?utf-8?B?VWJyVnVPMUk5ZUZYMHBCYW5rSTdIbWxBaDRHdVJNODcrMC9ZcmJCK2R4V004?= =?utf-8?B?Wm1NNkh1NHk2WGpCL3lPdWxCdjJMZE9HeTZ3NmJEM0s3QS85RU5vMUtKNURQ?= =?utf-8?B?cFBISTlHcGFKby9YdWtsd0N6VnFTUWg4TFdtL0N2aHJqU3E4dXlCUDFJR3hQ?= =?utf-8?B?Qk5OcHhmbUV4ZjJBWXNsVDVaeGJ5WVFWYjVrMXJzZVZpbzF1SnE0RlFjVXJJ?= =?utf-8?B?YkdMUGVLQ1lZS3ppTzQ5a0NoR1BsTXNEdzZkZnVCNGJUdXBEOUNsYW4zMVBH?= =?utf-8?B?M1V2UXRreGNwVGVNamdONTJrNlhkNWpTS1BCWDg1TWM1TzBCbzU5bkFuLy9j?= =?utf-8?B?THROcldtdGpsV1NuWC85YUU2N3hRMytUYW1JczZtVG95cTBtTVZzY1l6L2Qv?= =?utf-8?B?SHlTZ1RaTk0yM0c4Nkh4bFB3Tis0Q2pJdVY3cmlRcGgzWUxMNmdDR0tJak9L?= =?utf-8?B?Zm50SEJYWTR1aGo5UE8raDNGUitHMWx0aWZvUUxlUVJHbEtRQkszZnBoM28v?= =?utf-8?B?TCttZjkrUHpJdGllNWtiT256WHErV2xXOEx0anU1aGNKeDBSaE9XalhnMXNj?= =?utf-8?B?YjFxUTd3SHEzV2JnTXZXczV4Nm1xL0JmeFplMlpyMlNxUE1lY0JyejUrZjlv?= =?utf-8?B?Z2hBSEY3MW9CL2diSi9henE1NGdqdXdqTEZUcXZDemMwK29VOCtTMmVRbDh2?= =?utf-8?B?RUhYdEZrUlNZYTBVUC9IQU4rOGIxM2ZLQThVdlMzOFdKbmhiWE4zR3lPa1FD?= =?utf-8?B?QTN0UTJRUnR0UHdoQVpLUFFJZDJXSjhmWTlOcXBWY2RidXpIZkNMTHo3S2Fj?= =?utf-8?B?VGMvOEJoakdHem5lalg2RWptb3NmelZVYXlGUTVRWEx3QnpabGdpazJUa2Rh?= =?utf-8?B?ekRXaWtydUNYUWRVUWdEV3k1ODlmeWw2VHZxMVdUU1BObDhRQk9XdlZTTmNK?= =?utf-8?B?Yzl1cmlzTzNtUlNCV1pwdmkrN1FNTjVTQmpZbllXa1FaRWNuT0xSWmlQc1A5?= =?utf-8?B?QzBpNzYwVEpJbFl6REtCMWgxc1FabnVhLzc2UTE3bWlrSkltQVVTL3dJN0ZC?= =?utf-8?B?akdlVENPMXdUU1dZQ3M1dnlLZG1vbTQzclFJRGtnZ3B3a0xENENyOTNuY0Fq?= =?utf-8?B?Vy9jbDE5NlRFNUpnUUZGM0JRQmtqR0hxNUduTm9FTUZOckhpdjZtU09wUEFt?= =?utf-8?B?U2VZbnZTSnI3Mkd5SHVTSEJCRHlVc3BBSS9ja3pHWVpsTFRNSXUwMkxRL2V5?= =?utf-8?B?emQyM0NmV1JwSHFJRFlLRE5YYStweWhOSEpBdjBxQlBGY2Q2NVJDWjVoYkJ6?= =?utf-8?B?c3NSWlZUdjZLRXF3bFVCMXJkTyt6ZkhWWVpuMEtKRTJjWldSWGVYbTQzSnlO?= =?utf-8?B?VnVJYXFzSXdldVJ5YmVnbExxUVpvcGxyazdWUXFuZkZFc05oZnl2enBZbHMv?= =?utf-8?B?TS96M1hLSU5ValFuSG05TkJ2SXFqMk1sM05ZUzVKNVVoTFFua1I5czlNMyt3?= =?utf-8?B?NFVYa0JpV2ZHeDVIaUx1Nm9GL1JJNGJzeE0xWVlreVNtT0tDdWp4U1BHYkVR?= =?utf-8?B?OG1Kand1dWNyOXdHM1Q5dE5DQlhKalEybmtMQlFVUU0rdVlOUHhmSUlYTm1E?= =?utf-8?B?RWNMNW9EYmJVTEZrdUpkUG5hK3lwYi83NldpUncvZkhQbFBsRlBJcTU0eUhz?= =?utf-8?B?Q2lqUHRZYmZGdGMyanF1UVlPdVd0b3VSR1hrY3RCa1pGRHovR1diV3lPSnlr?= =?utf-8?Q?/YwsR1OVngrmiHx?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB1782;5:ZDOlC27UxNcQOZ4mb5QeMv035gct+T6aDG1tZJP5j6Ba87/2BZBSp8Ov8ZA4hRUQXPbhom57LEiaVdClG0XyPO3HfolJ0sqFbovjmNk9vsNItGw6NZqppoBhlb66oLmB622+tLd5rK+YE4WfnzAnMg==;24:6x3SGP0NoePD+PUdtKb0yMht4sqnAdlovI14SSqfE6FfvIVRqlWfF71vre9dyo0Qd+S7Jb7eZLVDthL0XL2SkUR7uMnMiOv0f0Dwa8SAm10=;7:6u66g9Cs7uQZGp/jh92y+ypkLvcNw6kmbbptOOEIS2650xpG3DNg7mdaKxIC9tIZebRZs4PrlLGOGX1oYKGUw9B7OTuFQTeIgLIagh6/kmHV/W2Yr+X0QfHGu7SdGe/rRcTVWidPxsgOToaGHB8zT+4mkolebDPfad0Aco3hz1860V8CbmT8S79b/QTeU81EbGcTN0Cq2gyDJXwwtfTaNg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2016 15:24:15.4821 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0201MB1782 Subject: Re: [PHP-DEV] [RFC][Vote] Typed Properties From: dmitry@zend.com (Dmitry Stogov) On 06/10/2016 05:31 PM, Bob Weinand wrote: >> Am 10.06.2016 um 16:24 schrieb Levi Morrison : >> >> On Fri, Jun 10, 2016 at 6:37 AM, Dmitry Stogov wrote: >>> Hi, >>> >>> >>> I hardly worked on implementation of this patch for a week, but I still don't like it. >>> >>> It makes 15% slowdown on each property update in existing PHP code (without types), and I don't see a way to improve this. >>> >>> Update of typed properties is going to be even more expensive. >>> >>> Benchmark results are included into RFC (and not changed with the latest version of the patch). >>> >>> >>> -1. >>> >>> >>> Thanks. Dmitry. >>> >>> ________________________________ >>> From: Joe Watkins >>> Sent: Friday, June 10, 2016 1:38:04 PM >>> To: PHP internals; Phil Sturgeon >>> Subject: [PHP-DEV] [RFC][Vote] Typed Properties >>> >>> Afternoon internals, >>> >>> The vote for typed properties has been restarted. >>> >>> Please take part: https://wiki.php.net/rfc/typed-properties >>> >>> Cheers >>> Joe >> To clarify though, didn't Wordpress and Mediawiki see only a 0.1% >> slowdown? In my opinion that is definitely a tolerable performance hit >> for such a feature. > Right, the 15% are quite skewed … it's in a tight loop which means ideal L1 cache utilization and the number of executed instructions for a runtime-cached ASSIGN_OBJ is very small. Where even 4 additional instructions make significant difference. The current fast-path of ASSIGN_DIM is about 40 instruction, so 15% slowdown comes exactly from this additional 4 instructions and additional memory read. > The 0.1% slowdown of WP and MW are painting a much more realistic (aka real-world) image. And as the RFC writes, "may be caused not by the additional checks but by the worse CPU cache utilization, because the size of PHP code was increased on 40KB". Yes, this is my words :) > > These micro-benches are really insignificant, especially as it is trivial (in tight loops) to work on a local CV and only assign it later to the property. they show the effect of the patch on the affected operations, and the shown slowdown is significant. Of course this doesn't affect WP significantly, because the whole ASSIGN_OBJ cost in the app is less than 1%. So we slowdown this ~1% on ~15% and got ~0.1% cumulative slowdown. Thanks. Dmitry. > > This IMO is really voting no for the wrong reasons... > > Bob