[ruby-core:74061] [Ruby trunk Feature#11625][Assigned] Unlock GVL for SHA1 calculations

From: naruse@...
Date: 2016-02-29 19:56:19 UTC
List: ruby-core #74061
SXNzdWUgIzExNjI1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgWXVpIE5BUlVTRS4KClN0YXR1cyBjaGFu
Z2VkIGZyb20gT3BlbiB0byBBc3NpZ25lZAoKZXh0L2RpZ2VzdCBzaG91bGQgdXNlIE9wZW5TU0ws
IHdoaWNoIGhhcyBtYW55IG9wdGltaXphdGlvbnMuCkJ1dCBvbGQgcnVieSdzIGV4dC9kaWdlc3Qv
c2hhMSB3YXMgYnVnZ3kuCgpUaHJvdWdoIHI1MjY5NCwgcjUyNjk1LCBhbmQgcjUyNzU1LCBJIGZp
eGVkIGl0LgpOb3cgaXQgY29ycmVjdGx5IHVzZXMgb3BlbnNzbCAoaWYgeW91IGdpdmUgLS13aXRo
LW9wZW5zc2wtZGlyIG9yIHNvbWV0aGluZyBvbiBPUyBYKQoKJSAgLi9ydWJ5IC12IHNoYWlwcy5y
YiAoZXh0L2RpZ2VzdC9zaGExIHdpdGggY2RlZnMpCnJ1YnkgMi40LjBkZXYgKDIwMTYtMDItMjkg
dHJ1bmsgNTM5NzQpIFt4ODZfNjQtZGFyd2luMTVdCldhcm1pbmcgdXAgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIHNoYTEgICAgIDYuMTkzayBp
LzEwMG1zCkNhbGN1bGF0aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ICAgICAgICAgICAgICAgIHNoYTEgICAgIDY1LjEzOGsgKMKxMTEuOSUpIGkvcyAtICAgIDMyMi4w
MzZrCgolIC4vcnVieSBzaGFpcHMucmIgKHdpdGggbGlicmVzc2wpCldhcm1pbmcgdXAgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIHNoYTEgICAg
IDYuOTMwayBpLzEwMG1zCkNhbGN1bGF0aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KICAgICAgICAgICAgICAgIHNoYTEgICAgIDg1LjUwN2sgKMKxMjEuNiUpIGkvcyAt
ICAgIDM4OC4wODBrCgpJZiB5b3Ugd2FudCBtb3JlIHNwZWVkICh3aXRob3V0IEZQR0Egb3IgQVNJ
QyksIGJ1eSBTa3lsYWtlIGFuZCB1c2UgbGF0ZXN0IG9wZW5zc2wgd2l0aCBvcHRpbWl6ZWQgYnVp
bGQ6Cmh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2VuLXVzL2FydGljbGVzL2ltcHJvdmluZy1v
cGVuc3NsLXBlcmZvcm1hbmNlCmh0dHA6Ly9naXQub3BlbnNzbC5vcmcvZ2l0d2ViLz9wPW9wZW5z
c2wuZ2l0O2E9Y29tbWl0ZGlmZjtoPTYxOWI5NDY2N2NjN2EwOTdmNmQxZTIxMjNjNGY0YzJjODVh
ZmI4ZjcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAj
MTE2MjU6IFVubG9jayBHVkwgZm9yIFNIQTEgY2FsY3VsYXRpb25zCmh0dHBzOi8vYnVncy5ydWJ5
LWxhbmcub3JnL2lzc3Vlcy8xMTYyNSNjaGFuZ2UtNTcyMTMKCiogQXV0aG9yOiBBYXJvbiBQYXR0
ZXJzb24KKiBTdGF0dXM6IEFzc2lnbmVkCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiAK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJJ20gdHJ5aW5nIHRvIGNh
bGN1bGF0ZSBtYW55IHNoYTEgY2hlY2tzdW1zLCBidXQgdGhlIGN1cnJlbnQgc2hhMSBpbXBsZW1l
bnRhdGlvbiBkb2Vzbid0IHVubG9jayB0aGUgR1ZMLCBzbyBJIGNhbid0IGRvIGl0IGluIHBhcmFs
bGVsLiAgSSd2ZSBhdHRhY2hlZCBhIHBhdGNoIHRoYXQgdW5sb2NrcyB0aGUgR1ZMIHdoZW4gY2Fs
Y3VsYXRpbmcgc2hhMXN1bXMgc28gdGhhdCBJIGNhbiBkbyB0aGVtIGluIHBhcmFsbGVsLgoKVGhl
IGdvb2QgcG9pbnQgYWJvdXQgdGhpcyBwYXRjaCBpcyB0aGF0IEkgY2FuIGNhbGN1bGF0ZSBzaGEx
J3MgaW4gcGFyYWxsZWwuICBIZXJlIGlzIHRoZSB0ZXN0IGNvZGUgSSdtIHVzaW5nOgoKfn5+CnJl
cXVpcmUgJ2RpZ2VzdC9zaGExJwpyZXF1aXJlICd0aHJlYWQnCgpUaHJlYWQuYWJvcnRfb25fZXhj
ZXB0aW9uID0gdHJ1ZQoKVEhSRUFEUyA9IChFTlZbJ1RIUkVBRFMnXSB8fCAxKS50b19pCgpzdG9y
ZSA9ICd4JyAqIChFTlZbJ1NJWkUnXSB8fCAxMDI0KS50b19pCgpxdWV1ZSA9IFF1ZXVlLm5ldwoK
NjAwMDAwLnRpbWVzIGRvCiAgcXVldWUgPDwgc3RvcmUKZW5kCgpUSFJFQURTLnRpbWVzIHsgcXVl
dWUgPDwgbmlsIH0KCnRzID0gVEhSRUFEUy50aW1lcy5tYXAgewogIFRocmVhZC5uZXcgewogICAg
d2hpbGUgd29yayA9IHF1ZXVlLnBvcAogICAgICBEaWdlc3Q6OlNIQTEuaGV4ZGlnZXN0KHdvcmsp
CiAgICBlbmQKICB9Cn0KCnRzLmVhY2goJjpqb2luKQp+fn4KCkhlcmUgaXMgd2hhdCB0aGUgb3V0
cHV0IGxvb2tzIGxpa2UgYWZ0ZXIgSSd2ZSBhcHBsaWVkIHRoZSBwYXRjaDoKCn5+fgpbYWFyb25A
VEMgcnVieSAodHJ1bmspXSQgVEhSRUFEUz0xIFNJWkU9NDA5NiB0aW1lIC4vcnVieSB0ZXN0LnJi
IAogICAgICAgMjIuNjIgcmVhbCAgICAgICAgMjEuNzggdXNlciAgICAgICAgIDAuNjYgc3lzClth
YXJvbkBUQyBydWJ5ICh0cnVuayldJCBUSFJFQURTPTQgU0laRT00MDk2IHRpbWUgLi9ydWJ5IHRl
c3QucmIgCiAgICAgICAxNS44NyByZWFsICAgICAgICAzNC41MyB1c2VyICAgICAgICAgOC4yNyBz
eXMKW2Fhcm9uQFRDIHJ1YnkgKHRydW5rKV0kIAp+fn4KClRoZSBkaWdlc3RzIHRoYXQgSSdtIGNh
bGN1bGF0aW5nIGFyZSBmb3IgZmFpcmx5IGxhcmdlIHN0cmluZ3MsIHNvIHRoaXMgcGF0Y2ggd29y
a3Mgd2VsbCBmb3IgbWUuICBUaGUgZG93bnNpZGVzIGFyZSB0aGF0IGl0IHNlZW1zIHNsaWdodGx5
IHNsb3dlciAodGhvdWdoIEknbSBub3Qgc3VyZSB0aGF0IGl0J3Mgc2lnbmlmaWNhbnQpIHdpdGgg
YSBzaW5nbGUgdGhyZWFkOgoKVGVzdCBjb2RlOgoKfn5+CnJlcXVpcmUgJ2JlbmNobWFyay9pcHMn
CnJlcXVpcmUgJ2RpZ2VzdC9zaGExJwoKQmVuY2htYXJrLmlwcyBkbyB8eHwKICB4LnJlcG9ydCgn
c2hhMScpIHsgRGlnZXN0OjpTSEExLmhleGRpZ2VzdCgneCcgKiA0MDk2KSB9CmVuZAp+fn4KCkJl
Zm9yZSBteSBwYXRjaCAoaGlnaGVyIG51bWJlcnMgYXJlIGJldHRlcik6Cgp+fn4KW2Fhcm9uQFRD
IHJ1YnkgKHRydW5rKV0kIC4vcnVieSBzaGFpcHMucmIgCkNhbGN1bGF0aW5nIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIHNoYTEgICAgIDIuNjA0
ayBpLzEwMG1zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICAgICAgICAgICAgICAgIHNoYTEgICAgIDI3LjQ0MWsgKMKxIDMuOSUpIGkvcyAtICAgIDEz
OC4wMTJrCn5+fgoKQWZ0ZXIgbXkgcGF0Y2g6Cgp+fn4KW2Fhcm9uQFRDIHJ1YnkgKHRydW5rKV0k
IC4vcnVieSBzaGFpcHMucmIgCkNhbGN1bGF0aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIHNoYTEgICAgIDIuNDE5ayBpLzEwMG1zCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAg
ICAgIHNoYTEgICAgIDI1Ljg0OGsgKMKxIDIuOCUpIGkvcyAtICAgIDEzMC42MjZrCn5+fgoKT3Ro
ZXIgZG93bnNpZGUgaXMgdGhhdCBJIGNoYW5nZWQgdGhlIGB1cGRhdGVgIG1ldGhvZCB0byBkdXAg
c3RyaW5ncyBzbyB0aGF0IHRoZSBHVkwgY2FuIGJlIHNhZmVseSByZWxlYXNlZC4KClRoaXMgcGF0
Y2ggcGF5cyBvZmYgZm9yIG1lIGJlY2F1c2Ugb2YgdGhlIHNpemUgb2YgdGhlIHN0cmluZ3MgSSdt
IHdvcmtpbmcgd2l0aCwgYnV0IEknbSBub3Qgc3VyZSBpZiBpdCdzIGZpbmUgZm9yIHRoZSBnZW5l
cmFsIGNhc2UuCgotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnNoYTFn
dmwuZGlmZiAoMy43OSBLQikKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1
YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9
dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4v
b3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next