[ruby-dev:50391] [Ruby trunk Feature#2447][Rejected] reduce GC pressure by symbol table without String instance
From:
naruse@...
Date:
2017-12-25 17:59:56 UTC
List:
ruby-dev #50391
SXNzdWUgIzI0NDcgaGFzIGJlZW4gdXBkYXRlZCBieSBuYXJ1c2UgKFl1aSBOQVJVU0UpLgoKU3Rh dHVzIGNoYW5nZWQgZnJvbSBBc3NpZ25lZCB0byBSZWplY3RlZAoK44GT44KM44KC44GGb2Jzb2xl dGXjgafjgZnjgojjga0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K RmVhdHVyZSAjMjQ0NzogcmVkdWNlIEdDIHByZXNzdXJlIGJ5IHN5bWJvbCB0YWJsZSB3aXRob3V0 IFN0cmluZyBpbnN0YW5jZQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjQ0NyNj aGFuZ2UtNjg2NDgKCiogQXV0aG9yOiBtYW1lIChZdXN1a2UgRW5kb2gpCiogU3RhdHVzOiBSZWpl Y3RlZAoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogbWFtZSAoWXVzdWtlIEVuZG9oKQoq IFRhcmdldCB2ZXJzaW9uOiAyLjYKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo9YmVnaW4KIOmBoOiXpOOBp+OBmeOAggogCiDnj77lnKjjga7jgrfjg7Pjg5zjg6vjg4bj g7zjg5bjg6vjga/jgIHjgrfjg7Pjg5zjg6vjgZTjgajjgasgU3RyaW5nIOOBruOCpOODs+OCueOC v+ODs+OCueOCkgog5Ymy44KK5b2T44Gm44Gm44K344Oz44Oc44Or5ZCN44KS566h55CG44GX44G+ 44GZ44GM44CB44Gd44Gu44Gb44GE44GnIEdDIOOBruWKueeOh+OBjOiQveOBoeOBpgog44GE44KL 44Go5oCd44GE44G+44GZ44CCCiAKIFN0cmluZyDjgafjga/jgarjgY8gQUxMT0Mg44Gn55u05o6l 56K65L+d44GX44Gf6aCY5Z+f44Gn566h55CG44GZ44KL44OR44OD44OB44KS5pu444GN44G+CiDj gZfjgZ/jgILmpbXnq6/jgarkvovjgafjga/jgZPjga7jgY/jgonjgYTml6njgY/jgarjgorjgb7j gZnjgIIKIAogCiAjIOODkeODg+ODgeWJjQogJCB0aW1lIC4vcnVieS5vcmcgLWUgJzEwMDAwLnRp bWVzIHsgR0Muc3RhcnQgfTsgcCBPYmplY3RTcGFjZS5jb3VudF9vYmplY3RzWzpUX1NUUklOR10n CiAxNzc4CiAKIHJlYWwgICAgMG0zLjc2NnMKIHVzZXIgICAgMG0zLjc2NHMKIHN5cyAgICAgMG0w LjAwNHMKIAogIyDjg5Hjg4Pjg4HlvowKICQgdGltZSAuL3J1YnkubmV3IC1lICcxMDAwMC50aW1l cyB7IEdDLnN0YXJ0IH07IHAgT2JqZWN0U3BhY2UuY291bnRfb2JqZWN0c1s6VF9TVFJJTkddJwog NDMzCiAKIHJlYWwgICAgMG0yLjg4MHMKIHVzZXIgICAgMG0yLjg3NnMKIHN5cyAgICAgMG0wLjAw NHMKIAogCiBiZW5jaG1hcmsg57WQ5p6c44Gv5pyA5b6M44Gr44GC44KK44G+44GZ44CC5aSa44GP 44Gu44KC44Gu44Gv44G744G85aSJ44KP44KJ44Gq44GE44GL6YCf44GPCiDjgarjgaPjgabjgYTj govjgajmgJ3jgYTjgb7jgZnjgIIKIHNvX21ldGVvcl9jb250ZXN0IOOBr+acieaEj+OBq+mAn+W6 puS9juS4i+OBl+OBvuOBmeOBjCAo5YaN54++5oCn44GC44KKKSDjgIHnkIbnlLHjga8KIOOCiOOB j+OCj+OBi+OCiuOBvuOBm+OCk+OAgnZtM190aHJlYWRfbXV0ZXgg44Gv5a6f6KGM44GZ44KL5bqm 44Gr5a6f6KGM5pmC6ZaT44GM5aSn44GN44GPCiDlpInjgo/jgaPjgabjgYTjgZ8gKDMg56eS5Lul 5LiL44GL44KJIDMwIOenkui2hSkg44Gu44Gn44CB5Y+C6ICD44Gr44Gq44KK44G+44Gb44KT44Gn 44GX44Gf44CCCiAKIOOBqeOBquOBn+OBi+i/veippuOBl+OBpuOBj+OBoOOBleOCi+OBqOWKqeOB i+OCiuOBvuOBmeOAguengeOBrueSsOWig+OBpyBtYWtlIHRlc3QtYWxsIOOBrwog6YCa44Gj44Gm 44GE44G+44GZ44CCCiAKIAogIDEuODlzICgyLjU3JSk6IHZtMl9ldmFsIDczLjY1LT43MS43Ngog IDEuODhzICgyLjQ0JSk6IHNvX2Zhbm5rdWNoIDc3LjE0LT43NS4yNQogIDEuODZzICg4LjA4JSk6 IHNvX3BhcnRpYWxfc3VtcyAyMy4wNC0+MjEuMTgKICAxLjczcyAoNy4yMCUpOiBzb19tYW5kZWxi cm90IDIzLjk4LT4yMi4yNgogIDEuNDNzICg4LjY4JSk6IHNvX3NwZWN0cmFsbm9ybSAxNi40My0+ MTUuMDAKICAxLjAycyAoNi4xOSUpOiBzb19uYm9keSAxNi40OS0+MTUuNDcKICAwLjk5cyAoMS4x MyUpOiBhcHBfcGVudG9taW5vIDg3LjUwLT44Ni41MQogIDAuODJzICg2LjY3JSk6IHZtMV9ibG9j ayAxMi4yMy0+MTEuNDEKICAwLjc2cyAoNS4yOCUpOiBzb19uc2lldmVfYml0cyAxNC4zNy0+MTMu NjEKICAwLjUxcyAoMTUuNjglKTogdm0zX2djIDMuMjUtPjIuNzQKICAwLjM0cyAoMy4xNiUpOiBz b19mYXN0YSAxMC42OS0+MTAuMzUKICAwLjIzcyAoNS4xMyUpOiBzb19leGNlcHRpb24gNC41Mi0+ NC4yOQogIDAuMjJzICgzLjAxJSk6IGxvb3BfZm9yIDcuNDUtPjcuMjIKICAwLjE5cyAoOS4wNiUp OiBhcHBfcmFpc2UgMi4xMC0+MS45MQogIDAuMThzICg0LjY3JSk6IHNvX29iamVjdCAzLjg4LT4z LjcwCiAgMC4xMnMgKDEuNzclKTogbG9vcF90aW1lcyA2LjU0LT42LjQyCiAgMC4xMXMgKDguNDkl KTogc29fcmFuZG9tIDEuMzEtPjEuMjAKICAwLjA5cyAoMi40NCUpOiBhcHBfdXJpIDMuODgtPjMu NzgKICAwLjA5cyAoMS4wNyUpOiB2bTFfc2ltcGxlcmV0dXJuIDguMzUtPjguMjYKICAwLjA3cyAo NC4xMyUpOiBhcHBfc3RyY29uY2F0IDEuNjQtPjEuNTcKICAwLjA2cyAoMC44MCUpOiB2bTJfbXV0 ZXggNy4zMy0+Ny4yNwogIDAuMDZzICgyLjk0JSk6IGFwcF9lcmIgMS45NS0+MS44OQogIDAuMDVz ICgwLjU5JSk6IHZtMl9tZXRob2QgOC45NC0+OC44OQogIDAuMDRzICgxLjA0JSk6IHZtMl9hcnJh eSAzLjYzLT4zLjU5CiAgMC4wNHMgKDAuOTclKTogdm0xX3Jlc2N1ZSAzLjgwLT4zLjc2CiAgMC4w M3MgKDAuNTYlKTogc29fbmVzdGVkX2xvb3AgNS44OC0+NS44NQogIDAuMDNzICgwLjc1JSk6IGxv b3BfZ2VuZXJhdG9yIDMuODMtPjMuODAKICAwLjAzcyAoMC41MSUpOiBzb19waWRpZ2l0cyA1LjM4 LT41LjM1CiAgMC4wM3MgKDIuODclKTogaW9fZmlsZV9yZWFkIDAuOTUtPjAuOTMKICAwLjAzcyAo MC43NCUpOiB2bTJfcHJvYyAzLjUxLT4zLjQ4CiAgMC4wMnMgKDAuNjUlKTogdm0xX2Vuc3VyZSAz LjgyLT4zLjc5CiAgMC4wMnMgKDEuNDUlKTogdm0yX3BvbHlfbWV0aG9kX292IDEuNjQtPjEuNjEK ICAwLjAycyAoMC43NCUpOiB2bTJfenN1cGVyIDIuODgtPjIuODYKICAwLjAycyAoMi41MCUpOiBh cHBfbWFuZGVsYnJvdCAwLjgzLT4wLjgwCiAgMC4wMnMgKDAuNDYlKTogYXBwX3RhayA0LjM2LT40 LjM0CiAgMC4wMnMgKDEuMzQlKTogdm0yX2Nhc2UgMS4yNC0+MS4yMwogIDAuMDFzICgxLjA0JSk6 IGlvX2ZpbGVfY3JlYXRlIDEuMTgtPjEuMTcKICAwLjAxcyAoMC40MyUpOiBzb19tYXRyaXggMi4x MS0+Mi4xMAogIDAuMDFzICgwLjE4JSk6IHNvX2Fja2VybWFubiAzLjYyLT4zLjYyCiAgMC4wMXMg KDAuMTklKTogYXBwX2ZpYiAzLjIxLT4zLjIxCiAgMC4wMXMgKDEuNDclKTogc29fc2lldmUgMC40 MS0+MC40MAogIDAuMDBzICgwLjA2JSk6IHZtMV9pdmFyIDYuMjMtPjYuMjIKICAwLjAwcyAoMC4w MyUpOiBzb19jb25jYXRlbmF0ZSAxLjkxLT4xLjkxCiAgMC4wMHMgKDAuMDUlKTogYXBwX2ZhY3Rv cmlhbCAwLjY2LT4wLjY2CiAgMC4wMHMgKDAuMDAlKTogdm0xX25lcSA2LjIyLT42LjIyCiAtMC4w MHMgKC0wLjAzJSk6IHZtMl9zZW5kIDIuMDItPjIuMDIKIC0wLjAwcyAoLTAuNDElKTogYXBwX2Fu c3dlciAwLjI0LT4wLjI1CiAtMC4wMHMgKC0xLjUzJSk6IHNvX3JldmVyc2VfY29tcGxlbWVudCAw LjA5LT4wLjA5CiAtMC4wMHMgKC0xLjk2JSk6IHNvX2tfbnVjbGVvdGlkZSAwLjA3LT4wLjA3CiAt MC4wMHMgKC0wLjM4JSk6IGlvX2ZpbGVfd3JpdGUgMC40NC0+MC40NAogLTAuMDBzICgtMC4xMSUp OiBsb29wX3doaWxlbG9vcCAzLjM4LT4zLjM5CiAtMC4wMHMgKC0wLjEzJSk6IGFwcF90YXJhaSAz LjUxLT4zLjUxCiAtMC4wMXMgKC0wLjY0JSk6IHNvX2NvdW50X3dvcmRzIDEuMDktPjEuMTAKIC0w LjAxcyAoLTAuNjglKTogc29fbGlzdHMgMS42OC0+MS42OQogLTAuMDJzICgtMi41MCUpOiBsb29w X3doaWxlbG9vcDIgMC42Ny0+MC42OAogLTAuMDJzICgtMS4wNCUpOiB2bTJfdW5pZjEgMS43Ni0+ MS43OAogLTAuMDJzICgtMS4xMiUpOiBzb19iaW5hcnlfdHJlZXMgMS44MS0+MS44MwogLTAuMDNz ICgtMS4xMCUpOiB2bTJfc3VwZXIgMi43NS0+Mi43OAogLTAuMDNzICgtMC41NiUpOiB2bTFfY29u c3QgNS44MC0+NS44MwogLTAuMDVzICgtMC43MCUpOiB2bTJfcmVnZXhwIDYuNTUtPjYuNTkKIC0w LjA1cyAoLTAuNTElKTogdm0zX3RocmVhZF9jcmVhdGVfam9pbiAxMC40OS0+MTAuNTUKIC0wLjA2 cyAoLTEuMTglKTogdm0xX3N3YXAgNS4xOC0+NS4yNAogLTAuMTFzICgtMi4yMSUpOiB2bTFfbm90 IDQuOTEtPjUuMDIKIC0wLjE0cyAoLTEuMTklKTogdm0yX3BvbHlfbWV0aG9kIDExLjgzLT4xMS45 NwogLTAuMTRzICgtMi4xMSUpOiB2bTFfbGVuZ3RoIDYuNjQtPjYuNzgKIC0wLjE1cyAoLTIuMzMl KTogdm0xX2l2YXJfc2V0IDYuNTctPjYuNzIKIC0wLjE4cyAoLTIuNDIlKTogc29fYXJyYXkgNy40 MC0+Ny41OAogLTAuMzFzICgtMi4yMyUpOiBzb19uc2lldmUgMTMuNzktPjE0LjEwCiAtMi4yMnMg KC04LjM4JSk6IHNvX21ldGVvcl9jb250ZXN0IDI2LjUwLT4yOC43MgogLTI2LjIwcyAoLTE3Ny4y OCUpOiB2bTNfdGhyZWFkX211dGV4IDE0Ljc4LT40MC45OQogCiAtLSAKIFl1c3VrZSBFbmRvaCA8 bWFtZUB0c2cubmUuanA+Cj1lbmQKCgotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnN5bWJvbF90YWJsZV93aXRob3V0X3N0cmluZy5wYXRjaCAoOC4wMyBLQikKCgotLSAK aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==