Re: Help me understand why PyPy is so slow in my benchmark

Jeremy Brown <[email protected]> Mon, 23 Sep 2024 15:35:35 -0400
Newsgroups gmane.comp.python.pypy
Message-ID <CAGL1beBSMfE5WayZN4mYjfs0RzxkRrmpndrRNUk2Lu4coWr4EQ@mail.gmail.com>
Q0YsDQoNClRoYW5rcyBmb3IgaGVscGluZyBtZSBmaWd1cmUgdGhpcyBvdXQsIEkgZGVmaW5pdGVs
eSB0aG91Z2h0IHRoZQ0KYnl0ZWNvZGUgY29tcGlsYXRpb24gd291bGQgYmUgYW1vcnRpemVkIHNp
bmNlIEkgc2V0IHJlcGVhdCB0byAxLCBndWVzcw0KdGhlcmUncyBtb3JlIHRvIGdldHRpbmcgdXNl
ZnVsIGJlbmNobWFya3Mgb3V0IG9mIFB5dGhvbiB0aGFuIEkNCm9yaWdpbmFsbHkgdGhvdWdodC4N
Cg0KWW91IGNhbiB1c2UgbXkgY29kZSBmb3IgYSB0aW1laXQgUFNBLCBob3BlZnVsbHkgaXQgaGVs
cHMgc29tZW9uZSBlbHNlDQphdm9pZCBteSBwaXRmYWxsLg0KDQotSmVyZW15DQoNCk9uIEZyaSwg
U2VwIDIwLCAyMDI0IGF0IDU6MjbigK9BTSBDRiBCb2x6LVRlcmVpY2sgPGNmYm9sekBnbXguZGU+
IHdyb3RlOg0KPg0KPiBIZWxsbyBKZXJlbXksDQo+DQo+IG91Y2guIGl0IHR1cm5zIG91dCB0aGUg
cHJvYmxlbSBpcyBuZWl0aGVyIHlvdXIgY29kZSwgbm9yIFB5UHksIGJ1dA0KPiB0aW1laXQuIFRo
ZSB0aW1laXQgbW9kdWxlIGlzIGp1c3Qgbm90IGEgc2FmZSBiZW5jaG1hcmtpbmcgdG9vbCB1bmxl
c3MNCj4geW91IHVzZSBpdCBpbiAqZXhhY3RseSogdGhlIHJpZ2h0IHdheS4gVGhlIHdheSB0aGF0
IHRpbWVpdCBydW5zIGNvZGUgaXMNCj4gdXNpbmcgYW4gZXhlYydlZCBzdHJpbmcsIGVnIGYicmVj
dXJzZSh7aX0pIiBpbiB5b3VyIGNhc2UuIFRoaXMNCj4gYnl0ZWNvZGUtY29tcGlsZXMgc29tZSBj
b2RlIGZvciBldmVyeSB0aW1lIHlvdSBjYWxsIHRpbWVpdC5yZXBlYXQuIFRoaXMNCj4gbWVhbnMg
dGhhdCB0aGUgSklUIGhhcyB0byBjb21waWxlIHRoYXQgYnl0ZWNvZGUgdG8gbWFjaGluZSBjb2Rl
IGZvcg0KPiBldmVyeSBjYWxsIHRvIHJlcGVhdC4gVGhhdCBpcyB0aGUgb3ZlcmhlYWQgdGhhdCB5
b3Ugd2VyZSBtZWFzdXJpbmcuDQo+DQo+IFNvIHlvdXIgY29kZToNCj4NCj4gICAgICAgICBmb3Ig
aSBpbiByYW5nZSgxLCA0MDAwKToNCj4gICAgICAgICAgICAgICAgIHRpbWVzWyJpdGVyIl1baV0g
PSByZXBlYXQoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHN0bXQgPSBmIml0ZXJhdGUoe2l9
KSIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC4uLg0KPg0KPiBzaW1wbHkgbmV2ZXIgd2Fy
bXMgdXAuDQo+DQo+IFRvIGZpeCB0aGlzLCB5b3UgY291bGQgd3JpdGUgeW91ciBvd24gdGltaW5n
IGhlbHBlci4gSSBkaWQgdGhhdCAoSSdtDQo+IGF0dGFjaGluZyBteSB2ZXJzaW9uIG9mIHRoZSBz
Y3JpcHQpLg0KPg0KPiBNeSByZXN1bHRzICh0aW1pbmcgYWxsIHRoZSA0MDAwIG51bWJlcnMgdG9n
ZXRoZXIsIHBlciBpbXBsZW1lbnRhdGlvbikNCj4gYXJlIGxpa2UgdGhpczoNCj4NCj4gQ1B5dGhv
biAzLjExLjY6DQo+IGl0ZXIgMS45NzY5MjQyMDgNCj4gcmNzdiAyLjMwMDg5MDI5Mw0KPg0KPiBQ
eVB5MyA3LjMuMTc6DQo+IGl0ZXIgMC4yNjU2OTc0MjEgKDcuNHggZmFzdGVyKQ0KPiByY3N2IDAu
NjQzODA0MzkyICgzLjZ4IGZhc3RlcikNCj4NCj4gSSBhbHNvIHRyaWVkIHRvIHVzZSBhIGxpc3Qg
YW5kICIiLmpvaW4sIGEgYnl0ZWFycmF5LCBhbmQgYSBweXB5LXNwZWNpZmljDQo+IHN0cmluZ2J1
aWxkZXIsIGFsbCB3ZXJlIHNsb3dlci4gWWVzLCB5b3VyIHN0cmluZyBhZGRpdGlvbnMgYXJlDQo+
IHF1YWRyYXRpYy4gQnV0IHRoZSBsb25nZXN0IHN0cmluZyB0aGF0IGlzIGJlaW5nIGJ1aWx0IGlz
IDE1LCBhbmQgZG9pbmcNCj4gMSsyKzMrLi4uKzE1PTEwNyBjaGFyYWN0ZXJzIGNvcGllcyBpcyBz
dGlsbCB2ZXJ5IGNoZWFwLg0KPg0KPiBNeSBtYWluIHRha2Vhd2F5IHdvdWxkIGJlIHRoYXQgbWlj
cm8tYmVuY2htYXJraW5nIGlzIHZlcnkgaGFyZCA6LSguDQo+DQo+IFdvdWxkIGl0IGJlIG9rIGlm
IEkgdXNlIHlvdXIgY29kZSBpbiBhIHNtYWxsIFBTQSBibG9nIHBvc3QgYWJvdXQgdGltZWl0Pw0K
Pg0KPiBDaGVlcnMsDQo+DQo+IENGDQo+DQo+DQo+DQo+IE9uIDIwMjQtMDktMjAgMDQ6MTYsIEpl
cmVteSBCcm93biB3cm90ZToNCj4gPiBNYW51ZWwsDQo+ID4NCj4gPj4gWW91ciBjb2RlIGlzIG1v
cmUgc2ltaWxhciB0byB0aGUgY29kZSBleGFtcGxlIHRoYXQgc2hvd3MgYSBjYXNlIHdoZXJlDQo+
ID4+IHRoZSBvcHRpbWl6YXRpb24gZG9lc27igJl0IHdvcmsuDQo+ID4+DQo+ID4+IERvZXMgdGhh
dCBleHBsYWluIHRoZSBiZWhhdmlvciB5b3XigJlyZSBzZWVpbmc/IEZlZWwgZnJlZSB0byBtYWtl
DQo+ID4+IHN1Z2dlc3Rpb25zIG9uIGhvdyB0byBjbGFyaWZ5IHRoZSB3b3JkaW5nLg0KPiA+DQo+
ID4gSSB0aGluayBJIGp1c3QgaW50ZXJwcmV0ZWQgdGhhdCBzdGF0ZW1lbnQgaW5jb3JyZWN0bHks
IEkgdGhvdWdodCB0aGUNCj4gPiBsaW5lYXIgY29kZSBzZWN0aW9uIGV4cGxhaW5lZCBob3cgdGhl
IEpJVCBvcHRpbWl6ZWQgdGhlIGNvZGUsIG5vdCB0aGUNCj4gPiBwcmVjb25kaXRpb25zIG5lZWRl
ZCBmb3IgdGhlIEpJVCB0byBmdW5jdGlvbiBjb3JyZWN0bHkuDQo+ID4NCj4gPiBDRiwNCj4gPg0K
PiA+PiBIaSBKZXJlbXksDQo+ID4+DQo+ID4+IENhbiB5b3Ugc2hhcmUgaG93IHlvdSBhcmUgcnVu
bmluZyB0aGlzIGZ1bmN0aW9uPyBJIHRyaWVkIGEgZmV3IHZhcmlhbnRzLCBhbmQgcHlweSBpcyBv
ZnRlbiBmYXN0ZXIgdGhhbiBDUHl0aG9uIG9uIG15IGF0dGVtcHRzLCBzbyB0aGUgcmVzdCBvZiB5
b3VyIGNvZGUgaXMgbmVjZXNzYXJ5IHRvIGZpbmQgb3V0IHdoYXQncyB3cm9uZy4NCj4gPg0KPiA+
IFN1cmUsIGhlcmUncyBhIGxpbmsgdG8gYSBjb3B5IG9mIHRoZSBiZW5jaG1hcms6IGh0dHBzOi8v
cGFzdGViaW4uY29tL2ZSMEM2cWNCLg0KPiA+DQo+ID4gSSBhbHNvIGtub3cgdGhlIEpJVCBkZWZp
bml0ZWx5IGNhbid0IG9wdGltaXplIHRoZSBpdGVyYXRpdmUgdmVyc2lvbiwNCj4gPiBidXQgZXZl
biBpZiB0aGlzIGlzIGEgcHJvYmxlbSBzcGVjaWZpYyB0byBQeVB5IEkgd291bGRuJ3QgZXhwZWN0
IHJ1bnMNCj4gPiB0byB0YWtlIHR3aWNlIGFzIGxvbmcgY29tcGFyZWQgdG8gQ1B5dGhvbi4NCj4g
Pg0KPiA+IC1KZXJlbXkNCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXw0KPiA+IHB5cHktZGV2IG1haWxpbmcgbGlzdCAtLSBweXB5LWRldkBweXRob24u
b3JnDQo+ID4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBweXB5LWRldi1sZWF2ZUBw
eXRob24ub3JnDQo+ID4gaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvbGlzdHMvcHlw
eS1kZXYucHl0aG9uLm9yZy8NCj4gPiBNZW1iZXIgYWRkcmVzczogY2Zib2x6QGdteC5kZQ0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHlweS1kZXYgbWFp
bGluZyBsaXN0IC0tIHB5cHktZGV2QHB5dGhvbi5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBl
bWFpbCB0byBweXB5LWRldi1sZWF2ZUBweXRob24ub3JnCmh0dHBzOi8vbWFpbC5weXRob24ub3Jn
L21haWxtYW4zL2xpc3RzL3B5cHktZGV2LnB5dGhvbi5vcmcvCk1lbWJlciBhZGRyZXNzOiBnY3Bw
LXB5cHktZGV2LTE0LTFAbS5nbWFuZS1teC5vcmcK