[ruby-core:120927] [Ruby master Bug#19288] Ractor JSON parsing significantly slower than linear parsing
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2025-02-09 19:30:38 UTC
List:
ruby-core #120927
SXNzdWUgIzE5Mjg4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdGVuZGVybG92ZW1ha2luZyAoQWFyb24g UGF0dGVyc29uKS4NCg0KDQpieXJvb3QgKEplYW4gQm91c3NpZXIpIHdyb3RlIGluICNub3RlLTE2 Og0KPiBJIHByb2ZpbGVkIHRoaXMgcmVwcm8gb3V0IG9mIGN1cmlvc2l0eSwgYW5kIHJhY3RvcnMg c3BlbmQgMzIlIG9mIHRoZWlyIHRpbWUgd2FpdGluZyBmb3IgdGhlIFZNIGxvY2sgKGB2bV9sb2Nr X2VudGVyYCArIHRoZSB1bmxvY2spIHRvIGJlIGFibGUgdG8gbG9va3VwIGluIHRoZSBgZnN0cmlu Z2AgdGFibGU6IGh0dHBzOi8vc2hhcmUuZmlyZWZveC5kZXYvNDE1Mlg4YQ0KPiANCj4gQ3VycmVu dGx5IHRoaXMgaXMgZG9uZSBleHBsaWNpdGx5IGJ5IHRoZSBganNvbmAgZ2VtLCBidXQgZXZlbiBp ZiBganNvbmAgd2Fzbid0IGF0dGVtcHRpbmcgdG8gZG8gaXQsIFJ1Ynkgd291bGQgZG8gdGhlIHNh bWUgdGhpbmcgb25jZSB3ZSdyZSB0cnlpbmcgdG8gaW5zZXJ0IHN0cmluZyBrZXlzOiBodHRwczov L3NoYXJlLmZpcmVmb3guZGV2LzRoc1ZQYkMNCj4gDQo+IEkgc3VwcG9zZSB0aGVyZSBhcmUgdmFy aW91cyBzb2x1dGlvbnMgdG8gdGhpcyB3aXRoIHRoZWlyIG93biB0cmFkZW9mZnM6DQo+IA0KPiAg IC0gRG9uJ3QgaW50ZXJuIGhhc2gga2V5cyB3aGVuIG5vdCBvbiB0aGUgbWFpbiByYWN0b3IuDQo+ ICAgLSBQcm90ZWN0IHRoZSBgZnN0cmluZ2AgdGFibGUgd2l0aCBpdHMgb3duIGRlZGljYXRlZCBS ZWFkLXdyaXRlIGxvY2ssIHNvIHRoYXQgY29uY3VycmVudCBSYWN0b3JzIGNhbiBsb29rdXAgc3Ry aW5nIChidXQgb25seSBvbmUgaW5zZXJ0KS4gQW5kIGFsc28gcmVkdWNlIGNvbnRlbnRpb24gZm9y IG90aGVyIGFyZWFzIHN0aWxsIHByb3RlY3RlZCBieSB0aGUgcmVtYWluaW5nIFZNIGxvY2suDQoN CkknbSBub3Qgc3VyZSBpZiB0aGlzIG9uZSBpcyBwb3NzaWJsZS4gSWYgc29tZSBSYWN0b3IgaXMg dXBkYXRpbmcgdGhlIGhhc2gsIGl0IGNvdWxkIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSB3 aGVuIGFub3RoZXIgUmFjdG9yIGlzIHRyeWluZyB0byByZWFkLiAgTWF5YmUgc3QgdGFibGUgdXBk YXRlcyBhcmUgYXRvbWljLCBidXQgSSBkb24ndCBrbm93IChhbmQgSSBraW5kIG9mIGRvdWJ0IGl0 KS4NCg0KPiAgIC0gU29tZWhvdyByZXBsYWNlIHRoZSBmc3RyaW5nIHRhYmxlIGJ5IGEgdHJ1bHkg bG9ja2ZyZWUgaGFzaCB0YWJsZS4NCg0KVGhpcyB3b3VsZCBiZSBpZGVhbCBJTU8sIGJ1dCBzZWVt cyBoYXJkIPCfmIUNCg0KV2UgY291bGQgYWxzbyBhZGQgYW4gZnN0cmluZyB0YWJsZSB0byBlYWNo IFJhY3Rvci4gIEkga25vdyB0aGUgcHVycG9zZSBvZiB0aGUgZnN0cmluZyB0YWJsZSBpcyB0byBs aW1pdCB0aGUgbnVtYmVyIG9mIGluc3RhbmNlcyBvZiBhIHN0cmluZywgYnV0IGF0IGxlYXN0IHdl IHdvdWxkIGJlIGxpbWl0ZWQgdG8gdGhlIG51bWJlciBvZiBSYWN0b3JzIChyYXRoZXIgdGhhbiBu byBsaW1pdCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBSYWN0b3JzKS4NCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMxOTI4ODogUmFjdG9yIEpTT04gcGFy c2luZyBzaWduaWZpY2FudGx5IHNsb3dlciB0aGFuIGxpbmVhciBwYXJzaW5nDQpodHRwczovL2J1 Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkyODgjY2hhbmdlLTExMTgxMA0KDQoqIEF1dGhvcjog bWFjaWVqLm1lbnNmZWxkIChNYWNpZWogTWVuc2ZlbGQpDQoqIFN0YXR1czogT3Blbg0KKiBydWJ5 IC12OiBydWJ5IDMuMi4wICgyMDIyLTEyLTI1IHJldmlzaW9uIGE1Mjg5MDgyNzEpIFt4ODZfNjQt bGludXhdDQoqIEJhY2twb3J0OiAyLjc6IFVOS05PV04sIDMuMDogVU5LTk9XTiwgMy4xOiBVTktO T1dOLCAzLjI6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCmEgc2ltcGxlIGJlbmNobWFyazoNCg0KYGBgcnVieQ0KcmVxdWlyZSAnanNvbicNCnJlcXVp cmUgJ2JlbmNobWFyaycNCg0KQ09OQ1VSUkVOVCA9IDUNClJBQ1RPUlMgPSB0cnVlDQpFTEVNRU5U UyA9IDEwMF8wMDANCg0KZGF0YSA9IENPTkNVUlJFTlQudGltZXMubWFwIGRvDQogIEVMRU1FTlRT LnRpbWVzLm1hcCBkbw0KICAgIHsNCiAgICAgIHJhbmQgPT4gcmFuZCwNCiAgICAgIHJhbmQgPT4g cmFuZCwNCiAgICAgIHJhbmQgPT4gcmFuZCwNCiAgICAgIHJhbmQgPT4gcmFuZA0KICAgIH0udG9f anNvbg0KICBlbmQNCmVuZA0KDQpyYWN0b3JzID0gQ09OQ1VSUkVOVC50aW1lcy5tYXAgZG8NCiAg UmFjdG9yLm5ldyBkbw0KICAgIFJhY3Rvci5yZWNlaXZlLmVhY2ggeyBKU09OLnBhcnNlKF8xKSB9 DQogIGVuZA0KZW5kDQoNCnJlc3VsdCA9IEJlbmNobWFyay5tZWFzdXJlIGRvDQogIGlmIFJBQ1RP UlMNCiAgICBDT05DVVJSRU5ULnRpbWVzIGRvIHxpfA0KICAgICAgcmFjdG9yc1tpXS5zZW5kKGRh dGFbaV0sIG1vdmU6IGZhbHNlKQ0KICAgIGVuZA0KDQogICAgcmFjdG9ycy5lYWNoKCY6dGFrZSkN CiAgZWxzZQ0KICAgICMgTGluZWFyIHdpdGhvdXQgYW55IHRocmVhZHMNCiAgICBkYXRhLmVhY2gg ZG8gfHBpZWNlfA0KICAgICAgcGllY2UuZWFjaCB7IEpTT04ucGFyc2UoXzEpIH0NCiAgICBlbmQN CiAgZW5kDQplbmQNCg0KcHV0cyByZXN1bHQNCmBgYA0KDQpHaXZlcyBmb2xsb3dpbmcgcmVzdWx0 cyBvbiBteSA4IGNvcmUgbWFjaGluZToNCg0KYGBgc2hlbGwNCiMgd2l0aG91dCByYWN0b3JzOg0K ICAyLjczMTc0OCAgIDAuMDAzOTkzICAgMi43MzU3NDEgKCAgMi43MzYzNDkpDQoNCiMgd2l0aCBy YWN0b3JzDQoxMi41ODA0NTIgICA1LjA4OTgwMiAgMTcuNjcwMjU0ICggIDUuMjA5NzU1KQ0KYGBg DQpJIHdvdWxkIGV4cGVjdCBSYWN0b3JzIG5vdCB0byBiZSB0d28gdGltZXMgc2xvd2VyIG9uIHRo ZSBDUFUgaW50ZW5zZSB3b3JrLg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwog cnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8g dW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5n Lm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4z L2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==