[ruby-dev:50768] [Ruby trunk Feature#2447] reduce GC pressure by symbol table without String instance
From:
mame@...
Date:
2019-01-21 07:35:12 UTC
List:
ruby-dev #50768
SXNzdWUgIzI0NDcgaGFzIGJlZW4gdXBkYXRlZCBieSBtYW1lIChZdXN1a2UgRW5kb2gpLg0KDQpT dGF0dXMgY2hhbmdlZCBmcm9tIEFzc2lnbmVkIHRvIFJlamVjdGVkDQoNCuOBleOBleOBoOOBleOC k+OBqOebuOirh+OBl+OBvuOBl+OBn+OAgg0KDQoqIOS4luS7o+WIpSBHQyDjgYzjgYLjgovnj77l nKjjgafjga/jgYrjgZ3jgonjgY/lirnmnpzjga/lvLHjgYTjgaDjgo3jgYYNCiogU3ltYm9sIEdD IOOBjOWwjuWFpeOBleOCjOOBn+OBruOBp+OAgeWQjOOBmOOBk+OBqOOCkuOChOOCi+OBqOe1kOan i+ikh+mbkeOBq+OBquOCiuOBneOBhu+8iOOCqOODs+ODiOODquOBruWJiumZpOOBq+WvvuW/nOOB l+OBquOBhOOBqOOBhOOBkeOBquOBhO+8iQ0KDQrjgajjgYTjgYbjgZPjgajjgafjgIHjgZ/jgbbj gpPjg5rjgqTjgZfjgarjgYTjgaDjgo3jgYbjgIHjgajjgYTjgYbmjqjlrprjgavjgarjgaPjgZ/j ga7jgafjgIHplonjgZjjgabjgYrjgY3jgb7jgZnjgIINCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjQ0NzogcmVkdWNlIEdDIHByZXNzdXJlIGJ5 IHN5bWJvbCB0YWJsZSB3aXRob3V0IFN0cmluZyBpbnN0YW5jZQ0KaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzI0NDcjY2hhbmdlLTc2NDM2DQoNCiogQXV0aG9yOiBtYW1lIChZdXN1 a2UgRW5kb2gpDQoqIFN0YXR1czogUmVqZWN0ZWQNCiogUHJpb3JpdHk6IE5vcm1hbA0KKiBBc3Np Z25lZTogbWFtZSAoWXVzdWtlIEVuZG9oKQ0KKiBUYXJnZXQgdmVyc2lvbjogDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo9YmVnaW4NCiDpgaDol6TjgafjgZnjgIIN CiANCiDnj77lnKjjga7jgrfjg7Pjg5zjg6vjg4bjg7zjg5bjg6vjga/jgIHjgrfjg7Pjg5zjg6vj gZTjgajjgasgU3RyaW5nIOOBruOCpOODs+OCueOCv+ODs+OCueOCkg0KIOWJsuOCiuW9k+OBpuOB puOCt+ODs+ODnOODq+WQjeOCkueuoeeQhuOBl+OBvuOBmeOBjOOAgeOBneOBruOBm+OBhOOBpyBH QyDjga7lirnnjofjgYzokL3jgaHjgaYNCiDjgYTjgovjgajmgJ3jgYTjgb7jgZnjgIINCiANCiBT dHJpbmcg44Gn44Gv44Gq44GPIEFMTE9DIOOBp+ebtOaOpeeiuuS/neOBl+OBn+mgmOWfn+OBp+eu oeeQhuOBmeOCi+ODkeODg+ODgeOCkuabuOOBjeOBvg0KIOOBl+OBn+OAgualteerr+OBquS+i+OB p+OBr+OBk+OBruOBj+OCieOBhOaXqeOBj+OBquOCiuOBvuOBmeOAgg0KIA0KIA0KICMg44OR44OD 44OB5YmNDQogJCB0aW1lIC4vcnVieS5vcmcgLWUgJzEwMDAwLnRpbWVzIHsgR0Muc3RhcnQgfTsg cCBPYmplY3RTcGFjZS5jb3VudF9vYmplY3RzWzpUX1NUUklOR10nDQogMTc3OA0KIA0KIHJlYWwg ICAgMG0zLjc2NnMNCiB1c2VyICAgIDBtMy43NjRzDQogc3lzICAgICAwbTAuMDA0cw0KIA0KICMg 44OR44OD44OB5b6MDQogJCB0aW1lIC4vcnVieS5uZXcgLWUgJzEwMDAwLnRpbWVzIHsgR0Muc3Rh cnQgfTsgcCBPYmplY3RTcGFjZS5jb3VudF9vYmplY3RzWzpUX1NUUklOR10nDQogNDMzDQogDQog cmVhbCAgICAwbTIuODgwcw0KIHVzZXIgICAgMG0yLjg3NnMNCiBzeXMgICAgIDBtMC4wMDRzDQog DQogDQogYmVuY2htYXJrIOe1kOaenOOBr+acgOW+jOOBq+OBguOCiuOBvuOBmeOAguWkmuOBj+OB ruOCguOBruOBr+OBu+OBvOWkieOCj+OCieOBquOBhOOBi+mAn+OBjw0KIOOBquOBo+OBpuOBhOOC i+OBqOaAneOBhOOBvuOBmeOAgg0KIHNvX21ldGVvcl9jb250ZXN0IOOBr+acieaEj+OBq+mAn+W6 puS9juS4i+OBl+OBvuOBmeOBjCAo5YaN54++5oCn44GC44KKKSDjgIHnkIbnlLHjga8NCiDjgojj gY/jgo/jgYvjgorjgb7jgZvjgpPjgIJ2bTNfdGhyZWFkX211dGV4IOOBr+Wun+ihjOOBmeOCi+W6 puOBq+Wun+ihjOaZgumWk+OBjOWkp+OBjeOBjw0KIOWkieOCj+OBo+OBpuOBhOOBnyAoMyDnp5Lk u6XkuIvjgYvjgokgMzAg56eS6LaFKSDjga7jgafjgIHlj4LogIPjgavjgarjgorjgb7jgZvjgpPj gafjgZfjgZ/jgIINCiANCiDjganjgarjgZ/jgYvov73oqabjgZfjgabjgY/jgaDjgZXjgovjgajl iqnjgYvjgorjgb7jgZnjgILnp4Hjga7nkrDlooPjgacgbWFrZSB0ZXN0LWFsbCDjga8NCiDpgJrj gaPjgabjgYTjgb7jgZnjgIINCiANCiANCiAgMS44OXMgKDIuNTclKTogdm0yX2V2YWwgNzMuNjUt PjcxLjc2DQogIDEuODhzICgyLjQ0JSk6IHNvX2Zhbm5rdWNoIDc3LjE0LT43NS4yNQ0KICAxLjg2 cyAoOC4wOCUpOiBzb19wYXJ0aWFsX3N1bXMgMjMuMDQtPjIxLjE4DQogIDEuNzNzICg3LjIwJSk6 IHNvX21hbmRlbGJyb3QgMjMuOTgtPjIyLjI2DQogIDEuNDNzICg4LjY4JSk6IHNvX3NwZWN0cmFs bm9ybSAxNi40My0+MTUuMDANCiAgMS4wMnMgKDYuMTklKTogc29fbmJvZHkgMTYuNDktPjE1LjQ3 DQogIDAuOTlzICgxLjEzJSk6IGFwcF9wZW50b21pbm8gODcuNTAtPjg2LjUxDQogIDAuODJzICg2 LjY3JSk6IHZtMV9ibG9jayAxMi4yMy0+MTEuNDENCiAgMC43NnMgKDUuMjglKTogc29fbnNpZXZl X2JpdHMgMTQuMzctPjEzLjYxDQogIDAuNTFzICgxNS42OCUpOiB2bTNfZ2MgMy4yNS0+Mi43NA0K ICAwLjM0cyAoMy4xNiUpOiBzb19mYXN0YSAxMC42OS0+MTAuMzUNCiAgMC4yM3MgKDUuMTMlKTog c29fZXhjZXB0aW9uIDQuNTItPjQuMjkNCiAgMC4yMnMgKDMuMDElKTogbG9vcF9mb3IgNy40NS0+ Ny4yMg0KICAwLjE5cyAoOS4wNiUpOiBhcHBfcmFpc2UgMi4xMC0+MS45MQ0KICAwLjE4cyAoNC42 NyUpOiBzb19vYmplY3QgMy44OC0+My43MA0KICAwLjEycyAoMS43NyUpOiBsb29wX3RpbWVzIDYu NTQtPjYuNDINCiAgMC4xMXMgKDguNDklKTogc29fcmFuZG9tIDEuMzEtPjEuMjANCiAgMC4wOXMg KDIuNDQlKTogYXBwX3VyaSAzLjg4LT4zLjc4DQogIDAuMDlzICgxLjA3JSk6IHZtMV9zaW1wbGVy ZXR1cm4gOC4zNS0+OC4yNg0KICAwLjA3cyAoNC4xMyUpOiBhcHBfc3RyY29uY2F0IDEuNjQtPjEu NTcNCiAgMC4wNnMgKDAuODAlKTogdm0yX211dGV4IDcuMzMtPjcuMjcNCiAgMC4wNnMgKDIuOTQl KTogYXBwX2VyYiAxLjk1LT4xLjg5DQogIDAuMDVzICgwLjU5JSk6IHZtMl9tZXRob2QgOC45NC0+ OC44OQ0KICAwLjA0cyAoMS4wNCUpOiB2bTJfYXJyYXkgMy42My0+My41OQ0KICAwLjA0cyAoMC45 NyUpOiB2bTFfcmVzY3VlIDMuODAtPjMuNzYNCiAgMC4wM3MgKDAuNTYlKTogc29fbmVzdGVkX2xv b3AgNS44OC0+NS44NQ0KICAwLjAzcyAoMC43NSUpOiBsb29wX2dlbmVyYXRvciAzLjgzLT4zLjgw DQogIDAuMDNzICgwLjUxJSk6IHNvX3BpZGlnaXRzIDUuMzgtPjUuMzUNCiAgMC4wM3MgKDIuODcl KTogaW9fZmlsZV9yZWFkIDAuOTUtPjAuOTMNCiAgMC4wM3MgKDAuNzQlKTogdm0yX3Byb2MgMy41 MS0+My40OA0KICAwLjAycyAoMC42NSUpOiB2bTFfZW5zdXJlIDMuODItPjMuNzkNCiAgMC4wMnMg KDEuNDUlKTogdm0yX3BvbHlfbWV0aG9kX292IDEuNjQtPjEuNjENCiAgMC4wMnMgKDAuNzQlKTog dm0yX3pzdXBlciAyLjg4LT4yLjg2DQogIDAuMDJzICgyLjUwJSk6IGFwcF9tYW5kZWxicm90IDAu ODMtPjAuODANCiAgMC4wMnMgKDAuNDYlKTogYXBwX3RhayA0LjM2LT40LjM0DQogIDAuMDJzICgx LjM0JSk6IHZtMl9jYXNlIDEuMjQtPjEuMjMNCiAgMC4wMXMgKDEuMDQlKTogaW9fZmlsZV9jcmVh dGUgMS4xOC0+MS4xNw0KICAwLjAxcyAoMC40MyUpOiBzb19tYXRyaXggMi4xMS0+Mi4xMA0KICAw LjAxcyAoMC4xOCUpOiBzb19hY2tlcm1hbm4gMy42Mi0+My42Mg0KICAwLjAxcyAoMC4xOSUpOiBh cHBfZmliIDMuMjEtPjMuMjENCiAgMC4wMXMgKDEuNDclKTogc29fc2lldmUgMC40MS0+MC40MA0K ICAwLjAwcyAoMC4wNiUpOiB2bTFfaXZhciA2LjIzLT42LjIyDQogIDAuMDBzICgwLjAzJSk6IHNv X2NvbmNhdGVuYXRlIDEuOTEtPjEuOTENCiAgMC4wMHMgKDAuMDUlKTogYXBwX2ZhY3RvcmlhbCAw LjY2LT4wLjY2DQogIDAuMDBzICgwLjAwJSk6IHZtMV9uZXEgNi4yMi0+Ni4yMg0KIC0wLjAwcyAo LTAuMDMlKTogdm0yX3NlbmQgMi4wMi0+Mi4wMg0KIC0wLjAwcyAoLTAuNDElKTogYXBwX2Fuc3dl ciAwLjI0LT4wLjI1DQogLTAuMDBzICgtMS41MyUpOiBzb19yZXZlcnNlX2NvbXBsZW1lbnQgMC4w OS0+MC4wOQ0KIC0wLjAwcyAoLTEuOTYlKTogc29fa19udWNsZW90aWRlIDAuMDctPjAuMDcNCiAt MC4wMHMgKC0wLjM4JSk6IGlvX2ZpbGVfd3JpdGUgMC40NC0+MC40NA0KIC0wLjAwcyAoLTAuMTEl KTogbG9vcF93aGlsZWxvb3AgMy4zOC0+My4zOQ0KIC0wLjAwcyAoLTAuMTMlKTogYXBwX3RhcmFp IDMuNTEtPjMuNTENCiAtMC4wMXMgKC0wLjY0JSk6IHNvX2NvdW50X3dvcmRzIDEuMDktPjEuMTAN CiAtMC4wMXMgKC0wLjY4JSk6IHNvX2xpc3RzIDEuNjgtPjEuNjkNCiAtMC4wMnMgKC0yLjUwJSk6 IGxvb3Bfd2hpbGVsb29wMiAwLjY3LT4wLjY4DQogLTAuMDJzICgtMS4wNCUpOiB2bTJfdW5pZjEg MS43Ni0+MS43OA0KIC0wLjAycyAoLTEuMTIlKTogc29fYmluYXJ5X3RyZWVzIDEuODEtPjEuODMN CiAtMC4wM3MgKC0xLjEwJSk6IHZtMl9zdXBlciAyLjc1LT4yLjc4DQogLTAuMDNzICgtMC41NiUp OiB2bTFfY29uc3QgNS44MC0+NS44Mw0KIC0wLjA1cyAoLTAuNzAlKTogdm0yX3JlZ2V4cCA2LjU1 LT42LjU5DQogLTAuMDVzICgtMC41MSUpOiB2bTNfdGhyZWFkX2NyZWF0ZV9qb2luIDEwLjQ5LT4x MC41NQ0KIC0wLjA2cyAoLTEuMTglKTogdm0xX3N3YXAgNS4xOC0+NS4yNA0KIC0wLjExcyAoLTIu MjElKTogdm0xX25vdCA0LjkxLT41LjAyDQogLTAuMTRzICgtMS4xOSUpOiB2bTJfcG9seV9tZXRo b2QgMTEuODMtPjExLjk3DQogLTAuMTRzICgtMi4xMSUpOiB2bTFfbGVuZ3RoIDYuNjQtPjYuNzgN CiAtMC4xNXMgKC0yLjMzJSk6IHZtMV9pdmFyX3NldCA2LjU3LT42LjcyDQogLTAuMThzICgtMi40 MiUpOiBzb19hcnJheSA3LjQwLT43LjU4DQogLTAuMzFzICgtMi4yMyUpOiBzb19uc2lldmUgMTMu NzktPjE0LjEwDQogLTIuMjJzICgtOC4zOCUpOiBzb19tZXRlb3JfY29udGVzdCAyNi41MC0+Mjgu NzINCiAtMjYuMjBzICgtMTc3LjI4JSk6IHZtM190aHJlYWRfbXV0ZXggMTQuNzgtPjQwLjk5DQog DQogLS0gDQogWXVzdWtlIEVuZG9oIDxtYW1lQHRzZy5uZS5qcD4NCj1lbmQNCg0KDQotLS1GaWxl cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzeW1ib2xfdGFibGVfd2l0aG91dF9z dHJpbmcucGF0Y2ggKDguMDMgS0IpDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy8NCg==