Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103967 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 23184 invoked from network); 1 Feb 2019 12:01:04 -0000 Received: from unknown (HELO NAM05-BY2-obe.outbound.protection.outlook.com) (40.107.71.111) by pb1.pair.com with SMTP; 1 Feb 2019 12:01:04 -0000 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:X-MS-Exchange-SenderADCheck; bh=Ah1z/fEyfeDkRC1bH8bb+eUTWlQ/SFmNJ9H6JSb2Fj0=; b=4g4RRFeVvhc9ZI+4GOcVxElpBy4B9xONkwOQT+Ofcbs0dbfQjynGh/DqFgLH0Ff01r4tsRgeI+FeFxzeQilwA0EhCrjF9xtNyhZn/Te84oz/HQgD7ZKMYHs0VuEJbgXTQ2aLU4KpzcOl+V46EdNHOTOe0pyDAV4p0PaHbhC0FoA= Received: from DM6PR02MB5932.namprd02.prod.outlook.com (20.179.68.220) by DM6PR02MB5019.namprd02.prod.outlook.com (20.176.114.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.17; Fri, 1 Feb 2019 08:41:06 +0000 Received: from DM6PR02MB5932.namprd02.prod.outlook.com ([fe80::bd59:7d60:3d3d:d5c7]) by DM6PR02MB5932.namprd02.prod.outlook.com ([fe80::bd59:7d60:3d3d:d5c7%3]) with mapi id 15.20.1558.025; Fri, 1 Feb 2019 08:41:06 +0000 To: Larry Garfield , "internals@lists.php.net" Thread-Topic: [PHP-DEV] [RFC] JIT Thread-Index: AQHUuUlqVOVjmKFgoEm1MWGJHDXwwaXJidMAgAAKfwCAAAJ7AIAABI+AgAAYQQCAAGQxAIAAiVYA Date: Fri, 1 Feb 2019 08:41:06 +0000 Message-ID: <4df2d7cf-31dc-a9cf-eefe-d92bad199312@zend.com> References: <2321148.uWQDsfDpJu@vulcan> In-Reply-To: <2321148.uWQDsfDpJu@vulcan> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1PR0202CA0013.eurprd02.prod.outlook.com (2603:10a6:3:8c::23) To DM6PR02MB5932.namprd02.prod.outlook.com (2603:10b6:5:153::28) authentication-results: spf=none (sender IP is ) smtp.mailfrom=dmitry@zend.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [212.232.72.197] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DM6PR02MB5019;6:AMp/OhoWjqsZ2hmnkm/270rmikSsFANJGi4IztBu4Jlh65gitCwFbrmxVZpMSa+fdH2mx//xul1m/cmOZQ4O4cbPv8FP1wZNwTGSE/YLWpTJZlV9O0uLS6OXZtXmpWPHmORyYQawOxwHCYPlZgHKRbUDnU6NqB2m+AqW2gMYwo73Ctu152nNGxWUgSnuVtN3zUuqFDanMqn2tHR97M+cc2YV8aaehPqdOG3V7Tsn2R9GRjjqwsgy22zK5+1p+6yc4q0V/ypC2EExj2eUpAaJJRL1Qk4p+6NYlIoLxdTZGs2SmxuVr1sKYsMFllniwYc0b8QsDxCrJhqrdb2fAUeucCIdzPN/LJ7iZCDH9/bVrEAVNCR9x93tabZe2Gr8UBUzqjXAo2ilHiXm2UpHdja0cHTUE8e9zEt+3CjD6sLrQKgAreAibC52kJ7zn3v7IeeP8TaGfcDsFg3F5TpoQYbBOQ==;5:9XfftrgjAMFOckJFBMvSkXlv5mGYDn3mZxvr7qVEndnx/YPJtf8opgrLcpFQ41gq/vrA8hHj9AqyivHMdGGzOKJuVsn/sicYxDD9mBPRsoCnoGqhnDBZ/0dse2sqEOQwUkCJyBYdXu/I27WXsmWzDjCxzxVdHUKJVGU3+BOpUI8MNEEMbV1q/uswUvWXPsB9J/9H63e5GSe6n1pwGo57+w==;7:NA5YP9vBY5uG5zKSNzR+zFls2TG2Dio+HGvr8DdMHmrRHn37IFSpN7UxJf+xDh05jf8NCGcbvej/q8uGDSUOfkCNm6rUmWbpj/j+5yuJOXrvivmwooNdkgwq9WCQjumqOn6/dKAY9wJWd84drKlDnQ== x-ms-office365-filtering-correlation-id: 890e5e65-c8fa-4815-3a46-08d688210162 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(2017052603328)(7153060)(7193020);SRVR:DM6PR02MB5019; x-ms-traffictypediagnostic: DM6PR02MB5019: x-microsoft-antispam-prvs: x-forefront-prvs: 09352FD734 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(376002)(346002)(136003)(39840400004)(366004)(199004)(189003)(11346002)(31696002)(31686004)(81156014)(476003)(86362001)(2616005)(36756003)(71190400001)(486006)(71200400001)(6116002)(478600001)(446003)(97736004)(81166006)(2501003)(6436002)(6486002)(8676002)(3846002)(66066001)(2906002)(8936002)(256004)(229853002)(6246003)(14444005)(25786009)(186003)(105586002)(106356001)(26005)(76176011)(7736002)(6512007)(52116002)(305945005)(53936002)(6506007)(53546011)(386003)(14454004)(93886005)(68736007)(102836004)(110136005)(99286004)(316002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM6PR02MB5019;H:DM6PR02MB5932.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: zend.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: oxjXdkllkNJfxntPKOzXNA7Bz4vqcmjICmrHlMm0tPK7at2voDvMliQ06kxhGbi3qVdSCsLmAes80aNcDdPrU8nd2gDfvKWBuIS/wlJmoq1qlY167Eo2BX6FPDEpEW+MfkQsc0SAMiI65r/6PBZEJsdfcFuFZL6zrlMAYTtdQ1gDF7rpgDyYgIxmSjiNqG7oBFwwKCYxaqFHeNzlCT1Jlg4Z8Us0bNbf4ECYZplIP3GL013mZoW7UvbJlbgaIBJqbrbJ0JA9EMDY2Dts/WRT4Slu2UaSqAF/3VllGvbw5SfHXBXlQUnwTXNWlM2snSjmK5/H+lJt526yGzhbli8zpn74DyuulLI6rRA/UlEBHSnOeQIgeZ9ib+ydUnYzKOszVFpY0ef3hEoNihxgPbVP1pPun1ultdwCwNDvkoRzP0w= Content-Type: text/plain; charset="Windows-1252" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-Network-Message-Id: 890e5e65-c8fa-4815-3a46-08d688210162 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2019 08:41:05.1322 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB5019 Subject: Re: [PHP-DEV] [RFC] JIT From: dmitry@zend.com (Dmitry Stogov) On 2/1/19 3:29 AM, Larry Garfield wrote: > On Thursday, January 31, 2019 12:30:52 PM CST Chase Peeler wrote: >> On Thu, Jan 31, 2019 at 12:04 PM Zeev Suraski wrote: >>> On Thu, Jan 31, 2019 at 6:47 PM Kalle Sommer Nielsen >>> >>> wrote: >>>> Without my usual Windows bias, I do believe it is a considerable fact >>>> like Nikita pointed out as Windows is a first class citizen in terms >>>> of operating systems we support. While PHP on Windows may not have the >>>> speed that the Unix counterpart have, it is still a very important >>>> development platform. Many developers develop on Windows and deploy on >>>> a Unix based system, being unable to test such an important feature in >>>> a development environment is also a large question mark. >>> >>> As long as we can agree that very few actually *deploy *on Windows, I >>> think >>> we're on solid grounds. >>> As the JIT implementation is likely to have at least *some* significant >>> differences compared to Linux, I'm not sure what testing it on Windows >>> would give you. JIT is supposed to be entirely transparent, and the >>> performance characteristics - as well as the bug patterns - are likely = to >>> be quite different on Linux vs. Windows, at least in many cases. >>> Is it really that important to have? >>> >>> I'm honestly a bit perplexed by how many people here viewing Windows >>> support as a must have, while at the same time I think we all agree PHP= is >>> very scarcely found on production Windows servers, and JIT is a >>> predominantly production feature. >>> >>> I'm personally interested in taking a look at it (and I'm certain >>> >>>> Anatol does too), but simply dismissing is a no-go for me. >>> >>> It'd be interesting to evaluate the cost associated with supporting >>> Windows. Bare in mind, we're proposing to vote on this as a production >>> feature for PHP 8 - which realistically means almost two years from now >>> *at >>> the earliest*. I'm sure we'd have Windows support a lot sooner than th= at >>> if we decide that it's a must have. I agree with Nikita that the key >>> question is in fact, do we or do we not want to introduce JIT in - with >>> the >>> main question being the maintenance cost. Let's tackle this question >>> first, otherwise - why send Dmitry (and maybe others) for doing more wo= rk >>> (Windows support) if we are likely to flush it all down the toilet? >>> >> Maybe we're the only ones, but we run production PHP on Windows. I have = no >> issues with the idea of not initially having support for Windows. I can >> probably even live with never having support for Windows - provided that= we >> don't find ourselves in a situation like Nikita mentioned where features >> start getting developed in PHP instead of C and require JIT in order to >> function. >=20 > Question from a non-compiler-engineer: Could we end up in a situation whe= re > future language features (in 8.3 or something) are only performant on JIT= - > enabled platforms? I know there were some RFCs rejected in the past on t= he > grounds that they involved too many runtime checks (and thus a performanc= e > hit); if it were possible for a JIT to optimize some of those away, it mi= ght > make the cost acceptable. However, if a JIT only works on some systems t= hat > might widen the gap between have- and have-not platforms. I think, JIT only approach doesn't make a lot of sense for PHP, with one=20 of the most fast VM. And this is a trend. Even V8, starting from JIT=20 only, switched back to VM+JIT. Thanks. Dmitry. >=20 > Is that a concern, or am I making things up? Or, is it a concern but we'= re > legit OK with that happening (which is also an entirely valid decision to > make)? >=20 > --Larry Garfield >=20