[ruby-core:88298] [Ruby trunk Bug#13167] Dir.glob is 25x slower since Ruby 2.2

From: pdahorek@...
Date: 2018-08-05 17:40:43 UTC
List: ruby-core #88298
SXNzdWUgIzEzMTY3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYWhvcmVrIChQYXZlbCBSb3NpY2vDvSku
CgoKQGguc2hpcm9zYWtpLCB0aGFua3MgZm9yIHlvdXIgd29yayBvbiB0aGlzLiBJIHRlc3RlZCB5
b3VyIHBhdGNoIDAwMDEtZGlyLmMtcGVyZm9ybWFuY2UtZml4LXdpdGgtYnJhY2VzLnBhdGNoIChy
dWJ5IGhlYWQgKyBicmFjZXMpIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRydW5rIGh0dHBzOi8vZ2l0
aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xODY0CgplbnZpcm9ubWVudDoKYGBgClNhbXN1bmcgODUw
IFBybyAyNTBHQgpBTUQgODM1MEZYIDhDCldpbmRvd3MgMTAgYW5kIFVidW50dQoxNkdCIEREUjMK
CnJ1YnkgMi42LjBkZXYgKDIwMTgtMDgtMDUgdHJ1bmsgNjQxOTIpIFt4ODZfNjQtbGludXhdCmpy
dWJ5IDkuMi4xLjAtU05BUFNIT1QgKDIuNS4wKSAyMDE4LTA4LTAyIDVhYTA2NGIgSmF2YSBIb3RT
cG90KFRNKSA2NC1CaXQgU2VydmVyIFZNIDEwLjAuMSsxMCBvbiAxMC4wLjErMTAgK2ppdCBbbGlu
dXgteDg2XzY0XQpgYGAKCnJhdGlvIChmYXN0ZXIgdGhhbiB0cnVuaykKYGBgCmxpbnV4IGJyYWNl
cyAxLjI2eApsaW51eCByZWN1cnNpdmUgMC45OXgKd2luZG93cyBicmFjZXMgMTAuNzV4CndpbmRv
d3MgcmVjdXJzaXZlIDEuNjZ4CmBgYApJIHRoaW5rIHRoZSBwYXRjaCBmaXhlcyB0aGUgbWFpbiBw
cm9ibGVtIEkgb3JpZ2luYWx5IHJlcG9ydGVkLiBFc3BlY2lhbGx5ICJ3aW5kb3dzIGJyYWNlcyIg
aXMgYWxtb3N0IDExLXRpbWVzIGZhc3RlciwgYWxtb3N0IGFzIGZhc3QgYXMgcnVieSAyLjEuOSB3
YXMuCgpJIGFsc28gdGVzdGVkIGl0IHdpdGggbXkgcnNwZWMgc3VpdGUgYW5kIGl0IHJ1bnMgMi4x
NHggZmFzdGVyLCB0aGlzIGlzIGEgaHVnZSBwZXJmIGRpZmZlcmVuY2UuIEl0IHBhc3NlcyBhbGwg
dGVzdHMuCmBgYApydWJ5IHRydW5rCjIyIG1pbnV0ZXMgNDYgc2Vjb25kcwpydWJ5IHRydW5rICsg
cGF0Y2gKMTAgbWludXRlcyA1IHNlY29uZHMKYGBgCgpjYyBAbm9idSBpZiB5b3UgaGF2ZSB0aW1l
LCBjb3VsZCB5b3UgcGxlYXNlIHJldmlldyBpdD8KCmBgYApMaW51eApydWJ5IDIuMS45CiAgICAg
ICAgICAgICAgICBsaXN0ICAgICAxMi42MjdrICjCsSAxLjYlKSBpL3MgLSAgICAgNjMuMjMyayBp
biAgIDUuMDA4ODg1cwogICAgICAgICAgICAgIGJyYWNlcyAgICAgIDQuMzMyayAowrEgMS45JSkg
aS9zIC0gICAgIDIxLjg4OWsgaW4gICA1LjA1NDQzNXMKICAgICAgICAgICByZWN1cnNpdmUgICAg
IDgxLjYwMyAgKMKxIDEuMiUpIGkvcyAtICAgIDQxMy4wMDAgIGluICAgNS4wNjIzMTNzCgpydWJ5
IDIuNS4wCiAgICAgICAgICAgICAgICBsaXN0ICAgICAxMS43NTJrICjCsSAxLjMlKSBpL3MgLSAg
ICAgNTkuMTc2ayBpbiAgIDUuMDM2MjI5cwogICAgICAgICAgICAgIGJyYWNlcyAgICAgIDQuMzA1
ayAowrEgMi4wJSkgaS9zIC0gICAgIDIxLjYwMGsgaW4gICA1LjAxOTUzMHMKICAgICAgICAgICBy
ZWN1cnNpdmUgICAgMjQ4LjczMSAgKMKxIDEuNiUpIGkvcyAtICAgICAgMS4yNDhrIGluICAgNS4w
MTg1MDNzCgpydWJ5IGhlYWQKICAgICAgICAgICAgICAgIGxpc3QgICAgIDEyLjEyOGsgKMKxIDIu
NCUpIGkvcyAtICAgICA2MC44NDBrIGluICAgNS4wMTk0ODRzCiAgICAgICAgICAgICAgYnJhY2Vz
ICAgICAgNC42NjdrICjCsSAzLjElKSBpL3MgLSAgICAgMjMuNjEzayBpbiAgIDUuMDY0NzAzcwog
ICAgICAgICAgIHJlY3Vyc2l2ZSAgICAyNTQuNzA0ICAowrEgMi4wJSkgaS9zIC0gICAgICAxLjI3
NWsgaW4gICA1LjAwNzQ1NXMKCnJ1YnkgaGVhZCArIGJyYWNlcwogICAgICAgICAgICAgICAgbGlz
dCAgICAgMTIuMTIzayAowrEgMy4zJSkgaS9zIC0gICAgIDYxLjA0OGsgaW4gICA1LjA0MTg0OHMK
ICAgICAgICAgICAgICBicmFjZXMgICAgICA1Ljg4NWsgKMKxIDIuMiUpIGkvcyAtICAgICAyOS43
ODRrIGluICAgNS4wNjM4MTVzCiAgICAgICAgICAgcmVjdXJzaXZlICAgIDI1MS44OTUgICjCsSAy
LjAlKSBpL3MgLSAgICAgIDEuMjc1ayBpbiAgIDUuMDYzNDU5cwoKanJ1YnktaGVhZAogICAgICAg
ICAgICAgICAgbGlzdCAgICAgIDkuOTMxayAowrEgMi40JSkgaS9zIC0gICAgIDQ5Ljc2NGsgaW4g
ICA1LjAxNDA3MHMKICAgICAgICAgICAgICBicmFjZXMgICAgICA0Ljc1OGsgKMKxIDEuNyUpIGkv
cyAtICAgICAyMy45NDBrIGluICAgNS4wMzI5NTZzCiAgICAgICAgICAgcmVjdXJzaXZlICAgICAz
NS45MzMgICjCsSA1LjYlKSBpL3MgLSAgICAxODAuMDAwICBpbiAgIDUuMDIyNzk2cwoKCgpXaW5k
b3dzCnJ1YnkgMi4xLjkKICAgICAgICAgICAgICAgIGxpc3QgICAgICAyLjY4M2sgKMKxIDUuOSUp
IGkvcyAtICAgICAxMy41NjZrIGluICAgNS4wNzcxOTZzCiAgICAgICAgICAgICAgYnJhY2VzICAg
ICAgMS4yMDBrICjCsSAzLjIlKSBpL3MgLSAgICAgIDYuMDAwayBpbiAgIDUuMDA1OTcxcwogICAg
ICAgICAgIHJlY3Vyc2l2ZSAgICAxMTEuODQ0ICAowrEgMC45JSkgaS9zIC0gICAgNTYxLjAwMCAg
aW4gICA1LjAxNjU1N3MKCnJ1YnkgMi41LjAKICAgICAgICAgICAgICAgIGxpc3QgICAgOTQ1LjMw
OSAgKMKxIDMuMCUpIGkvcyAtICAgICAgNC43OTRrIGluICAgNS4wNzYwNjlzCiAgICAgICAgICAg
ICAgYnJhY2VzICAgICA2Ny44NzkgICjCsSAyLjklKSBpL3MgLSAgICAzNDIuMDAwICBpbiAgIDUu
MDQxNjk0cwogICAgICAgICAgIHJlY3Vyc2l2ZSAgICAgMzMuMzE0ICAowrEgMy4wJSkgaS9zIC0g
ICAgMTY4LjAwMCAgaW4gICA1LjA0NjUyNnMKCnJ1YnkgaGVhZAogICAgICAgICAgICAgICAgbGlz
dCAgICAgIDEuMDAxayAowrEgMS44JSkgaS9zIC0gICAgICA1LjA0OWsgaW4gICA1LjA0NzQ5NHMK
ICAgICAgICAgICAgICBicmFjZXMgICAgIDcyLjE0NSAgKMKxIDEuNCUpIGkvcyAtICAgIDM2NC4w
MDAgIGluICAgNS4wNDYzNDFzCiAgICAgICAgICAgcmVjdXJzaXZlICAgICAzNC45NDMgICjCsSAy
LjklKSBpL3MgLSAgICAxNzcuMDAwICBpbiAgIDUuMDY4Mjc1cwoKcnVieSBoZWFkICsgYnJhY2Vz
CiAgICAgICAgICAgICAgICBsaXN0ICAgICAgMS4wMDFrICjCsSAxLjMlKSBpL3MgLSAgICAgIDUu
MDQ5ayBpbiAgIDUuMDQ0ODY1cwogICAgICAgICAgICAgIGJyYWNlcyAgICA3NzMuODIyICAowrEg
MC45JSkgaS9zIC0gICAgICAzLjkyN2sgaW4gICA1LjA3NTIwNXMKICAgICAgICAgICByZWN1cnNp
dmUgICAgIDU4LjU5NiAgKMKxIDEuNyUpIGkvcyAtICAgIDI5NS4wMDAgIGluICAgNS4wMzQ5MDBz
CgpqcnVieS1oZWFkCiAgICAgICAgICAgICAgICBsaXN0ICAgICAgNS4xMjFrICg/IDEuMyUpIGkv
cyAtICAgICAyNS45MzVrIGluICAgNS4wNjQ5MjZzCiAgICAgICAgICAgICAgYnJhY2VzICAgICAg
MS4zMDhrICg/IDIuMSUpIGkvcyAtICAgICAgNi42MjVrIGluICAgNS4wNjYxMzBzCiAgICAgICAg
ICAgcmVjdXJzaXZlICAgICAgOS45ODcgICg/IDAuMCUpIGkvcyAtICAgICA1MC4wMDAgIGluICAg
NS4wMDgzMzhzCmBgYAoKCiFbXShsaW51eF9icmFjZXMucG5nKQohW10od2luZG93c19icmFjZXMu
cG5nKQohW10obGludXhfcmVjdXJzaXZlLnBuZykKIVtdKHdpbmRvd3NfcmVjdXJzaXZlLnBuZykK
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxMzE2NzogRGly
Lmdsb2IgaXMgMjV4IHNsb3dlciBzaW5jZSBSdWJ5IDIuMgpodHRwczovL2J1Z3MucnVieS1sYW5n
Lm9yZy9pc3N1ZXMvMTMxNjcjY2hhbmdlLTczMzI2CgoqIEF1dGhvcjogYWhvcmVrIChQYXZlbCBS
b3NpY2vDvSkKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAoq
IFRhcmdldCB2ZXJzaW9uOiAKKiBydWJ5IC12OiAyLjQuMAoqIEJhY2twb3J0OiAyLjI6IFVOS05P
V04sIDIuMzogVU5LTk9XTiwgMi40OiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KSGVsbG8sCndlJ3ZlIGZvdW5kIGEgaHVnZSBzcGVlZCByZWdyZXNzaW9u
IGluIG91ciBSYWlscyBhcHAuIEFmdGVyIHNvbWUgZGlnZ2luZyB0aGUgcmVhc29uIGlzIGluIGBE
aXIuZ2xvYmAgbWV0aG9kIHdoaWNoIGlzIG11Y2ggc2xvd2VyIHNpbmNlIFJ1YnkgMi4yLjYuIFRo
aXMgaXMgcHJvYmFibHkgV2luZG93cyBvbmx5IQoKVGhpcyBjb2RlIGlzIHVzZWQgaGVhdmlseSBp
biBSYWlscyBmb3IgcGFydGlhbCBsb29rdXBzOgoKYGBgcnVieQpEaXIuZ2xvYignYzovdGVzdC9t
eWFwcC9hcHAvdmlld3MvY29tbW9uL19tZW51X3N0YXRzey5lbix9ey5odG1sLH17fXsuZXJiLC5i
dWlsZGVyLC5yYXcsLnJ1YnksLmpidWlsZGVyLC5jb2ZmZWUsfScpCmBgYAoKQ29tcGFyc2lvbiAo
eDY0KToKanJ1YnkgOS4xLjcuMCAyNTQwIGkvcwpydWJ5IDIuMS41IDI1NjggaS9zCnJ1YnkgMi4x
LjkgMjU2OSBpL3MKKipydWJ5IDIuMi42IDk5IGkvcyAyNSB0aW1lcyBzbG93ZXIhCnJ1YnkgMi4z
LjMgMTAyIGkvcwpydWJ5IDIuNC4wIDEwMyBpL3MqKgoKSSB3b3VsZCBsaWtlIHRvIGhlbHAsIGJ1
dCBJIGRvbid0IGtub3cgbXVjaCBhYm91dCBSdWJ5IEMgaW50ZXJuYWxzLiBQbGVhc2UgbGV0IG1l
IGtub3cgaWYgeW91IG5lZWQgYW55IGFkZGl0aW9uYWwgaW5mby4gTm93IHdlJ3JlIHN0dWNrIGF0
IDIuMS45IGJlY2F1c2UgdGhpcyBpc3N1ZSBtYWtlcyB0aGUgZGV2ZWxvcG1lbnQgb24gbW9yZSBy
ZWNlbnQgdmVyc2lvbnMgdW51c2FibGUuCgotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCmxvZ3J1YnkyNC50eHQgKDQ4NCBLQikKbG9ncnVieTIxLnR4dCAoMTAuOCBLQikK
YmVuY2hfZGlyX2dsb2IucmIgKDg4MCBCeXRlcykKMDAwMS1kaXIuYy1wZXJmb3JtYW5jZS1maXgt
d2l0aC1icmFjZXMtdXNpbmctY2FjaGUucGF0Y2ggKDUuODQgS0IpCjAwMDEtZGlyLmMtcGVyZm9y
bWFuY2UtZml4LXdpdGgtYnJhY2VzLnBhdGNoICg4LjY0IEtCKQpsaW51eF9icmFjZXMucG5nICgy
NC4xIEtCKQpsaW51eF9saXN0LnBuZyAoMjMuNSBLQikKbGludXhfcmVjdXJzaXZlLnBuZyAoMjYu
NiBLQikKd2luZG93c19icmFjZXMucG5nICgyMy42IEtCKQp3aW5kb3dzX2xpc3QucG5nICgyMy4x
IEtCKQp3aW5kb3dzX3JlY3Vyc2l2ZS5wbmcgKDI4IEtCKQpiZW5jaF9kaXJfZ2xvYjIucmIgKDk4
MiBCeXRlcykKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTog
PG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3Jp
YmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9y
dWJ5LWNvcmU+Cg==

In This Thread

Prev Next