Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91544 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35122 invoked from network); 8 Mar 2016 14:18:43 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Mar 2016 14:18:43 -0000 Authentication-Results: pb1.pair.com header.from=bogdan.andone@intel.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=bogdan.andone@intel.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain intel.com designates 192.55.52.88 as permitted sender) X-PHP-List-Original-Sender: bogdan.andone@intel.com X-Host-Fingerprint: 192.55.52.88 mga01.intel.com Received: from [192.55.52.88] ([192.55.52.88:60885] helo=mga01.intel.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D3/84-03587-04FDED65 for ; Tue, 08 Mar 2016 09:18:42 -0500 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP; 08 Mar 2016 06:18:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,556,1449561600"; d="scan'208";a="760240039" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by orsmga003.jf.intel.com with ESMTP; 08 Mar 2016 06:18:39 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.35]) by IRSMSX109.ger.corp.intel.com ([169.254.13.174]) with mapi id 14.03.0248.002; Tue, 8 Mar 2016 14:18:36 +0000 To: 'Nikita Popov' CC: "internals@lists.php.net" Thread-Topic: [PHP-DEV] Lazy keys comparison during hash lookups Thread-Index: AdF5OqqPklKUV25aRaSccqn8QkELAwAAlHWAAAC45pAAAHfB8A== Date: Tue, 8 Mar 2016 14:18:35 +0000 Message-ID: <0ABC26E371A76440A370CFC5EB1056CC40F0BB89@irsmsx105.ger.corp.intel.com> References: <0ABC26E371A76440A370CFC5EB1056CC40F0BA1F@irsmsx105.ger.corp.intel.com> <0ABC26E371A76440A370CFC5EB1056CC40F0BB53@irsmsx105.ger.corp.intel.com> In-Reply-To: <0ABC26E371A76440A370CFC5EB1056CC40F0BB53@irsmsx105.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzY4MmYwZTQtY2VlYi00ODg2LWEwY2ItYzJjYzRlMDM5MjJhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjQuMTAuMTkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiemVZQlJPaDdSdFRoNGt1SlVYUWswdTFwZlFxSkJQeHZ2akVvRHlWVVBiST0ifQ== x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: RE: [PHP-DEV] Lazy keys comparison during hash lookups From: bogdan.andone@intel.com ("Andone, Bogdan") PiBGcm9tOiBOaWtpdGEgUG9wb3YgW21haWx0bzpuaWtpdGEucHB2QGdtYWlsLmNvbV0gDQo+IFNl bnQ6IFR1ZXNkYXksIE1hcmNoIDA4LCAyMDE2IDM6NDMgUE0NCj4gVG86IEFuZG9uZSwgQm9nZGFu DQo+IENjOiBpbnRlcm5hbHNAbGlzdHMucGhwLm5ldA0KPiBTdWJqZWN0OiBSZTogW1BIUC1ERVZd IExhenkga2V5cyBjb21wYXJpc29uIGR1cmluZyBoYXNoIGxvb2t1cHMNCj4gPk9uIFR1ZSwgTWFy IDgsIDIwMTYgYXQgMjoxOCBQTSwgTmlraXRhIFBvcG92IDxuaWtpdGEucHB2QGdtYWlsLmNvbT4g d3JvdGU6DQo+ID4+IE9uIFR1ZSwgTWFyIDgsIDIwMTYgYXQgMjowMSBQTSwgQW5kb25lLCBCb2dk YW4NCj4gPGJvZ2Rhbi5hbmRvbmVAaW50ZWwuY29tPiB3cm90ZToNCj4gPj4gSGkgR3V5cywNCj4g Pj4NCj4gPj4gSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgYSBzbWFsbCBjaGFuZ2UgaW50byB0aGUg REpCWDMzQSBoYXNoIGZ1bmN0aW9uDQo+IGFsZ29yaXRobSB3aGljaCB3aWxsIG1ha2UgZWFzaWVy IHRoZSBrZXkgbWF0Y2hpbmcgdmFsaWRhdGlvbnMgaW4gaGFzaA0KPiBsb29rdXAgZnVuY3Rpb25z Lg0KPiA+Pg0KPiA+PiBUaGUgY2hhbmdlIGFkZHJlc3NlcyB0aGUgbW9kdWxvIDggdGFpbGluZyBi eXRlcyBvZiB0aGUga2V5LiBGb3IgdGhlc2UNCj4gYnl0ZXMgd2UgY2FuIHVzZSBhbiA4IGJpdCBz aGlmdCBpbnN0ZWFkIG9mIGEgNSBiaXQgc2hpZnQ7IHdlIGFsc28gbmVlZA0KPiB0byByZXBsYWNl IHRoZSBBREQgYnkgWE9SLCBpbiBvcmRlciB0byBhdm9pZCBieXRlIGxldmVsIG92ZXJmbG93cy4g VGhpcw0KPiBjaGFuZ2UgZW5zdXJlcyB0aGUgdW5pcXVlbmVzcyBvZiB0aGUgaGFzaCBmdW5jdGlv biB0cmFuc2Zvcm1hdGlvbiBmb3INCj4gdGhlIHRhaWxpbmcgYnl0ZXM6IHN1cHBvc2luZyB0d28g c3RyaW5ncyBoYXZlIHNhbWUgcGFydGlhbCBoYXNoIHZhbHVlDQo+IGZvciB0aGUgZmlyc3QgTng4 IGJ5dGVzLCBkaWZmZXJlbnQgY29tYmluYXRpb25zIG9mIHRhaWxpbmcgY2hhcmFjdGVycw0KPiAo d2l0aCB0aGUgc2FtZSB0YWlsIHNpemUpIHdpbGwgYWx3YXlzIGdlbmVyYXRlIGRpZmZlcmVudCBr ZXlzLg0KPiA+PiBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgY29uc2VxdWVuY2VzOg0KPiA+PiBJZiB0 d28gc3RyaW5ncyBoYXZlOg0KPiA+PiAtIHNhbWUgaGFzaCB2YWx1ZSwNCj4gPj4gLSBzYW1lIGxl bmd0aCwNCj4gPj4gLSBzYW1lIGJ5dGVzIGZvciB0aGUgZmlyc3QgTng4IHBvc2l0aW9ucywNCj4g Pj4gdGhlbiB0aGV5IGFyZSBlcXVhbCwgYW5kIHRoZSB0YWlsaW5nIGJ5dGVzIGNhbiBiZSBza2lw cGVkIGR1cmluZw0KPiBjb21wYXJpc29uLg0KPiA+Pg0KPiA+PiBUaGVyZSBpcyBhIHZpc2libGUg cGVyZm9ybWFuY2UgZ2FpbiBpZiB3ZSBhcHBseSB0aGlzIGFwcHJvYWNoIGFzIHdlDQo+IGNhbiB1 c2UgYSBsaWdodHdlaWdodCBtZW1jbXAoKSBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBsb25ncyBj b21wYXJpc29uDQo+IGFuZCBjb21wbGV0ZWx5IGZyZWUgb2YgdGhlIGNvbXBsZXhpdHkgaW5jdXJy ZWQgYnkgdGFpbGluZyBieXRlcy4gRm9yDQo+IE1lZGlhd2lraSBJIGhhdmUgYSAxLjclwqAgcGVy Zm9ybWFuY2UgZ2FpbiB3aGlsZSBXb3JkcHJlc3MgcmVwb3J0cyAxLjIlDQo+IHNwZWVkdXAgb24g SGFzd2VsbC1FUC4NCj4gPj4NCj4gPj4gTGV04oCZcyB0YWtlIGEgc21hbGwgZXhhbXBsZToNCj4g Pj4gU3VwcG9zZSB3ZSBoYXZlIGEga2V5PeKAnXRoaXNfaXNfYV9rZXlfdmFsdWXigJ0uDQo+ID4+ IFRoZSBoYXNoIGZ1bmN0aW9uIGZvciB0aGXCoCBmaXJzdCBOIHggOCBieWVzIGFyZSBjb21wdXRl ZCBpbiB0aGUNCj4gb3JpZ2luYWwgd2F5OyBzdXBwb3NlIOKAnHRoaXNfaXNfYV9rZXlfdmHigJ0g KDE2Ynl0ZXMpIHdpbGwgcmV0dXJuIGEgcGFydGlhbA0KPiBoYXNoIHZhbHVlIGgxOyB0aGUgZmlu YWwgaGFzaCB2YWx1ZSB3aWxsIGJlIGNvbXB1dGVkIGJ5IHRoZSBmb2xsb3dpbmcNCj4gc2VxdWVu Y2U6DQo+ID4+IGggPSAoKGgxPDw4KSBeIGgxKSBeIOKAmGzigJk7DQo+ID4+IGggPSAoKGg8PDgp IF4gaCkgXiDigJh14oCZOw0KPiA+PiBoID0gKChoPDw4KSBeIGgpIF4g4oCYZeKAmTsNCj4gPj4g b3IsIGluIG9ubHkgb25lIG9wZXJhdGlvbjoNCj4gPj4gaCA9IChoMTw8MjQpIF4gKGgxPDwxNikg XiAoaDE8PDgpIF4gaDEgXiAo4oCYbOKAmTw8MTYpIF4gKCjigJhs4oCZXuKAmHXigJkpPDw4KSBe DQo+ICjigJhs4oCZXuKAmXXigJle4oCYZeKAmSkNCj4gPj4gV2UgY2FuIHNlZSB0aGF0IGh0PSji gJhs4oCZPDwxNikgXiAoKOKAmGzigJle4oCYdeKAmSk8PDgpIF4gKOKAmGzigJle4oCZdeKAmV7i gJhl4oCZKcKgIGNhbm5vdA0KPiBiZSBvYnRhaW5lZCBieSBhbnkgb3RoZXIgMyBjaGFyYWN0ZXJz IGxvbmcgdGFpbC4gVGhlIHN0YXRlbWVudCBpcyBub3QNCj4gdHJ1ZSBpZiB3ZSB1c2UgQUREIGlu c3RlYWQgb2YgWE9SLCBhcyBleHRlbmRlZCBBU0NJSSBjaGFyYWN0ZXJzIG1pZ2h0DQo+IGdlbmVy YXRlIG92ZXJmbG93cyBhZmZlY3RpbmcgdGhlIExTQiBvZiB0aGUgaGlnaGVyIGJ5dGUgaW4gdGhl IGhhc2gNCj4gdmFsdWUuDQo+ID4+DQo+ID4+IEkgcHVzaGVkIGEgcHVsbCByZXF1ZXN0IGhlcmU6 IGh0dHBzOi8vZ2l0aHViLmNvbS9waHAvcGhwLQ0KPiBzcmMvcHVsbC8xNzkzLiBVbmZvcnR1bmF0 ZWx5IGl0IGRvZXMgbm90IHBhc3MgdGhlIHRyYXZpcyB0ZXN0cyBiZWNhdXNlDQo+IOKAnGh0bWxz cGVjaWFsY2hhcnMgZXRjIHVzZSBhIGdlbmVyYXRlZCB0YWJsZSB0aGF0IGFzc3VtZXMgdGhlIGN1 cnJlbnQNCj4gaGFzaCBmdW5jdGlvbuKAnSBhcyBub3RpY2VkIGJ5IE5pa2l0YS4NCj4gPj4NCj4g Pj4gTGV0IG1lIGtub3cgeW91ciB0aG91Z2h0cyBvbiB0aGlzIGlkZWEuDQo+ID4NCj4gPiBIZXkg Qm9nZGFuLA0KPiA+IFRoaXMgbG9va3MgbGlrZSBhbiBpbnRlcmVzdGluZyBpZGVhISBJJ20gc29t ZXdoYXQgYXBwcmVoZW5zaXZlIGFib3V0DQo+IGNvdXBsaW5nIHRoaXMgdG8gYSBjaGFuZ2Ugb2Yg dGhlIGhhc2ggZnVuY3Rpb24sIGZvciB0d28gcmVhc29uczoNCj4gPiBhKSBUaGlzIHdpbGwgbWFr ZSBpdCBtb3JlIHByb2JsZW1hdGljIGlmIHdlIHdhbnQgdG8gY2hhbmdlIHRoZSBoYXNoDQo+IGZ1 bmN0aW9uIGluIHRoZSBmdXR1cmUsIGUuZy4gaWYgd2Ugd2FudCB0byBzd2l0Y2ggdG8gU2lwSGFz aC4NCj4gPiBiKSBUaGUgcXVhbGl0eSBvZiB0aGUgbmV3IGhhc2ggZGlzdHJpYnV0aW9uIGlzIG5v dCBpbW1lZGlhdGVseSBjbGVhciwNCj4gYnV0IGxpa2VseSBub24tdHJpdmlhbGx5IHdlYWtlci4N Cj4gPiBTbyBJJ20gd29uZGVyaW5nIGlmIHdlIGNhbiBrZWVwIHRoZSBjb25jZXB0IG9mIHVzaW5n IGEgemVuZF91bG9uZw0KPiBhbGlnbmVkIG1lbWNtcCB3aGlsZSBsZWF2aW5nIHRoZSBoYXNoIGZ1 bmN0aW9uIGFsb25lOiBUaGUgemVuZF9zdHJpbmcNCj4gYWxsb2NhdGlvbiBwb2xpY3kgYWxyZWFk eSBhbGxvY2F0ZXMgdGhlIHN0cmluZyBkYXRhIGFsaWduZWQgYW5kIHBhZGRlZA0KPiB0byB6ZW5k X3Vsb25nIGJvdW5kYXJpZXMuIElmIHdlIHdlcmUgdG8gYWRkaXRpb25hbGx5IGV4cGxpY2l0bHkg emVybyBvdXQNCj4gdGhlIGxhc3QgYnl0ZSAodG8gYXZvaWQgdmFsZ3JpbmQgd2FybmluZ3MpIHdl IHNob3VsZCBiZSBhYmxlIHRvIGNvbXBhcmUNCj4gdGhlIGNoYXJhY3RlciBkYXRhIG9mIHR3byB6 ZW5kX3N0cmluZ3MgdXNpbmcgYSB6ZW5kX3Vsb25nIG1lbWNtcC4gVGhpcw0KPiB3b3VsZCBoYXZl IHRoZSBhZGRpdGlvbmFsIGJlbmVmaXQgdGhhdCBpdCB3b3JrcyBmb3Igbm9ybWFsIHN0cmluZw0K PiBjb21wYXJpc29ucyAodW5yZWxhdGVkIHRvIGhhc2h0YWJsZXMpIGFzIHdlbGwuIE9uIHRoZSBv dGhlciBoYW5kLCB0aGlzDQo+IGlzIG9ubHkgcG9zc2libGUgZm9yIHplbmRfc3RyaW5nIHRvIHpl bmRfc3RyaW5nIGNvbXBhcmlzb25zLCBub3QgZm9yDQo+IGNvbXBhcmlzb25zIHdpdGggc3RhdGlj IHN0cmluZ3MuDQo+ID4gUmVnYXJkcywNCj4gcy96ZXJvIG91dCB0aGUgbGFzdCBieXRlL3plcm8g b3V0IHRoZSBsYXN0IHplbmRfdWxvbmcNCj4gSSdkIGxpa2UgdG8gYWRkIGFub3RoZXIgaXNzdWUg d2l0aCByZWx5aW5nIG9uIHRoZSBoYXNoIGZvciB0aGlzIHdoaWNoIEkNCj4ganVzdCByZW1lbWJl cmVkOiBXZSBjdXJyZW50bHkgYWx3YXlzIHNldCB0aGUgdG9wIGJpdCBvZiB0aGUgaGFzaCBmb3IN Cj4gc3RyaW5ncyAoc2VlIGh0dHA6Ly9seHIucGhwLm5ldC94cmVmL1BIUF9UUlVOSy9aZW5kL3pl bmRfc3RyaW5nLmgjMzUxKSwNCj4gaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgaGFzaGVzIGFyZSBu ZXZlciB6ZXJvLiBUaGlzIG1ha2VzIHRoZSBoYXNoIG5vbi0NCj4gdW5pcXVlLg0KPiBOaWtpdGEN ClllYWguLi4gSSBtaXNzZWQgdGhlIHRvcCBiaXQgc2V0LCBidXQgSSB0aGluayBpdCBjb3VsZCBi ZSBzb2x2ZWQgc29tZWhvdy4gSW1obyB0aGUgc3Ryb25nZXN0IHJlYXNvbiBhZ2FpbnN0IHRoZSBw YXRjaCBpcyB0aGUgZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSBoYXNoIGZ1bmN0aW9uIGFuZCB0aGUg a2V5IHZhbGlkYXRpb24gbWV0aG9kIGJ1dCBJIGhhdmUgdGhlIGltcHJlc3Npb24gdGhhdCB0aGlz IGlzIG5vdCBiZSB0aGUgbW9zdCBkaXJ0eSBoYWNrIGRlcGxveWVkIGV2ZXIgaW4gUEhQOyBhbmQg SSBkb24ndCBrbm93IHZlcnkgd2VsbCB3aGF0IGlzIHRoZSBkZWdyZWUgb2YgY29tcHJvbWlzZSBh Y2NlcHRhYmxlIGZvciAxJSBzcGVlZHVwIDotKSANCk9uIHRoZSBvdGhlciBoYW5kLCB5b3VyIGlk ZWEgdG8gemVybyB0aGUgbGFzdCB6ZW5kX3Vsb25nIGluIHRoZSB6ZW5kX3N0cmluZyBsb29rcyBu aWNlLiBUaGVyZSBjb3VsZCBiZSBhbiBhZGRpdGlvbmFsIHBvdGVudGlhbCBnYWluIGFsc28gZnJv bSBsaWdodHdlaWdodCBpbXBsZW1lbnRhdGlvbiBvZiBtZW1jbXAoKS4gSSB3aWxsIGdpdmUgaXQg YSB0cnkgdG8gc2VlIGlmIGl0IGdldHMgYmV0dGVyIHJlc3VsdHMgdGhhbiB0aGUgY3VycmVudCBw cm9wb3NhbC4NCkkgYXNzdW1lIGFsbCB6ZW5kX3N0cmluZyBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBh cmUgbG9jYXRlZCBpbiB6ZW5kX3N0cmluZy5oLCBjb3JyZWN0Pw0KDQpUaGFua3MsDQpCb2dkYW4N Cg==