Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93437 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53357 invoked from network); 23 May 2016 09:02:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 May 2016 09:02:21 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 207.46.100.148 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 207.46.100.148 mail-by2on0148.outbound.protection.outlook.com Received: from [207.46.100.148] ([207.46.100.148:11151] helo=na01-by2-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 76/84-14293-B17C2475 for ; Mon, 23 May 2016 05:02:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ERKtcdKSr2Ig8xPoDLtC6yLAfn0ALYYU58YfXbGmZko=; b=MvjgX8SyqqXfAseg6Cl/L1AmC6sklWX3RBkUsazw0hL1wCrl6y46GiF4gN2wlnsvcL+Wr7Dm4ims/b+taScQamJMXYS1sKfc4Z/dqLKZAcLC9CYcRu6QfyaAGj6CKz7GXtbXaTz/ZLLXZLB3UQ02GShI1gCZHvDQDIrumUhOsiI= Received: from BY2PR0201MB1784.namprd02.prod.outlook.com (10.163.72.26) by BY2PR0201MB1782.namprd02.prod.outlook.com (10.163.72.24) with Microsoft SMTP Server (TLS) id 15.1.501.7; Mon, 23 May 2016 09:02:16 +0000 Received: from BY2PR0201MB1784.namprd02.prod.outlook.com ([10.163.72.26]) by BY2PR0201MB1784.namprd02.prod.outlook.com ([10.163.72.26]) with mapi id 15.01.0501.012; Mon, 23 May 2016 09:02:16 +0000 To: Joe Watkins , PHP internals , Phil Sturgeon Thread-Topic: [PHP-DEV] [RFC][Vote] Typed Properties Thread-Index: AQHRsl29xlQFrvOFJkSnB4pG0wOhsp/GNLQWgAAGCZ8= Date: Mon, 23 May 2016 09:02:16 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: pthreads.org; dkim=none (message not signed) header.d=none;pthreads.org; dmarc=none action=none header.from=zend.com; x-originating-ip: [132.245.81.165] x-ms-office365-filtering-correlation-id: 48d432ad-3507-4b72-eb68-08d382e8f02f x-microsoft-exchange-diagnostics: 1;BY2PR0201MB1782;5:vIno+SLowDwazoz9t+rVvmOQoDr6X6amdSA4i28B4mrqdrZBkawxbeiCbPUghPxGIwgEkBO5/JPScRGv23lt/UHH1npK5qQO/XFV9N7VmtS5VsqTrrAmVDH82Lehui5rM8/J2iraQVjuAJs6PjrWFw==;24:rSGy6XeBrvPJQ1hb5iibQCggXSbkhUzNB8EnuV1fw+qfwVeOSvbBA462+PmOa3NaD/yCI53YYsArPYe+TaDS8cnm/zYrOjv++YBQovw17iI=;7:LOS8LwoRb4hOiW5q3d5EYrfS7Iou6cE0UXCL1VD4pag9Uk2/QlJQ4uyN7LAuLhKWV7/bitypjNOmYYs0EdwnshYI2obBrLWTg6tKvgY+hncZQOiR1NSGZgv/YSVckGoAsUMDGX90ImwodI1Wy8/w9k8M5JEPFyxs1Bu7Fe/P/6GQjPwfraVaAU2E7b4dWDAt x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1782; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BY2PR0201MB1782;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB1782; x-forefront-prvs: 0951AB0A30 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(377454003)(10400500002)(92566002)(11100500001)(6116002)(3846002)(5004730100002)(16799955002)(106116001)(102836003)(1220700001)(8936002)(19580395003)(5008740100001)(19580405001)(15188155005)(77096005)(8676002)(2906002)(15975445007)(33656002)(586003)(66066001)(81166006)(122556002)(2950100001)(2900100001)(76176999)(54356999)(50986999)(5002640100001)(76576001)(3660700001)(189998001)(87936001)(99286002)(86362001)(9686002)(5001770100001)(5003600100002)(74316001)(107886002)(3280700002)(556834004);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR0201MB1782;H:BY2PR0201MB1784.namprd02.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2016 09:02:16.1405 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0201MB1782 Subject: Re: [PHP-DEV] [RFC][Vote] Typed Properties From: dmitry@zend.com (Dmitry Stogov) I appreciate the work done by Joe, but I vote "no", because the implementat= ion is not good enough yet - it's incompatible with opcache (may be it's not a big problem to fix this= ) - typed properties assignment is going to be 2-3 times slower ($obj->x +=3D= 2; is 3 times slower) - the patch makes slight negative effect even for untyped properties - the proposed behavior for uninitialized typed properties assumes that the= y have to be checked on each "read". This checks will have to be performed = even in native JITed code. I don't see a reason for typing if we have to pe= rform check on each read anyway. Thanks. Dmitry. ________________________________________ From: Dmitry Stogov Sent: Monday, May 23, 2016 11:30:09 AM To: Joe Watkins; PHP internals; Phil Sturgeon Subject: Re: [PHP-DEV] [RFC][Vote] Typed Properties Hi Joe, The performance effect of this implementation is terrible. Assignment to typed property is 2.3 times slower. Assignment to untyped property in a class with typed properties is 1.8 time= s slower. See the benchmark https://gist.github.com/dstogov/1b678712adeee51665cdd829195bb800 Thanks. Dmitry. ________________________________________ From: Joe Watkins Sent: Friday, May 20, 2016 9:05:34 AM To: PHP internals; Phil Sturgeon Subject: [PHP-DEV] [RFC][Vote] Typed Properties Morning internals, Since we have our answer on nullable types, typed properties can now go to vote. https://wiki.php.net/rfc/typed-properties#vote Note that, support for nullability as RFC'd will be merged when the implementation for nullable_types is merged into master. Please participate. Cheers Joe -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php