delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/05/10/09:31:53

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Date: Thu, 10 May 2001 17:20:00 +0400
From: egor duda <deo AT logos-m DOT ru>
X-Mailer: The Bat! (v1.45) Personal
Reply-To: egor duda <cygwin-developers AT cygwin DOT com>
Organization: deo
X-Priority: 3 (Normal)
Message-ID: <1791875116.20010510172000@logos-m.ru>
To: cygwin-developers AT cygwin DOT com
Subject: storing symlink in extended attribute (on ntfs)
X-Sender: egor duda <deo AT logos-m DOT ru>
Mime-Version: 1.0

------------A51F323E29C4263B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi!

  i've modified cygwin slightly to store symlink value in shortcut's
extended attribute, and to try to get it from there. my (rough)
benchmarking shows 30%-50% speedup in symlink resolution code.

turn ntea "on" before running.

create_tree.sh creates tree structure used for benchmarking,
traverse_tree.sh is actual "benchmark"

the patch is only proof-of-concept. of course, if will be cleaned up
(work only on ntfs, better error checking, etc.) if we decide we need
such functionality in cygwin. 

Comments?

egor.            mailto:deo AT logos-m DOT ru icq 5165414 fidonet 2:5020/496.19
------------A51F323E29C4263B
Content-Type: application/octet-stream; name="traverse_tree.sh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="traverse_tree.sh"

Zm9yIHggaW4gMSAyIDMgNDsgZG8NCiAgZm9yIHkgaW4gMSAyIDMgNDsgZG8NCiAgICBmb3IgeiBp
biAxIDIgMyA0OyBkbw0KICAgICAgZm9yIHUgaW4gMSAyIDMgNDsgZG8NCiAgICAgICAgZm9yIHYg
aW4gMSAyIDMgNDsgZG8NCiAgICAgICAgICBjZCAvdG1wL3NsLyR4LyR5LyR6LyR1LyR2IDsNCiAg
ICAgICAgZG9uZQ0KICAgICAgZG9uZQ0KICAgIGRvbmUNCiAgZG9uZQ0KZG9uZQ0K

------------A51F323E29C4263B
Content-Type: application/octet-stream; name="create_tree.sh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="create_tree.sh"

IyEgL2Jpbi9iYXNoCgplY2hvICRACgppZiBbICEgLXogJDUgXTsgdGhlbgogIGV4aXQgCmZpCgpp
ZiBbIC16ICQxIF07IHRoZW4KICBta2RpciAvdG1wL3NsCiAgY2QgL3RtcC9zbApmaQoKZm9yIHgg
aW4gMSAyIDMgNDsgZG8KICBta2RpciAkeC5kaXIgOwogIGxuIC1zICR4LmRpciAkeCA7CmRvbmUK
CmZvciB4IGluIDEgMiAzIDQ7IGRvCiAgcHVzaGQgJHguZGlyID4vZGV2L251bGwKICBzaCAtYyAi
L3RtcC9jcmVhdGVfdHJlZS5zaCAkQCAkeCIKICBwb3BkID4vZGV2L251bGwKZG9uZQo=

------------A51F323E29C4263B
Content-Type: application/octet-stream; name="symlink-in-ea.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="symlink-in-ea.diff"

SW5kZXg6IG50ZWEuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL3dpbnN1cC9j
eWd3aW4vbnRlYS5jYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLXUgLXAgLTIgLXIx
LjMgbnRlYS5jYwotLS0gbnRlYS5jYwkyMDAwLzA5LzA4IDAyOjU2OjU0CTEuMworKysgbnRlYS5j
YwkyMDAxLzA1LzEwIDEyOjU0OjA4CkBAIC0yNTUsNSArMjU1LDUgQEAgTlRSZWFkRUFSYXcgKEhB
TkRMRSBoRmlsZVNvdXJjZSwgaW50ICpsZQogCiBCT09MIF9fc3RkY2FsbAotTlRXcml0ZUVBIChj
b25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICphdHRybmFtZSwgY2hhciAqYnVmLCBpbnQgbGVu
KQorTlRXcml0ZUVBIChjb25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICphdHRybmFtZSwgY29u
c3QgY2hhciAqYnVmLCBpbnQgbGVuKQogewogICAvKiByZXR1cm4gaW1tZWRpYXRlbHkgaWYgTlRF
QSB1c2FnZSBpcyB0dXJuZWQgb2ZmICovCkluZGV4OiBwYXRoLmNjCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvc3JjL3NyYy93aW5zdXAvY3lnd2luL3BhdGguY2MsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTM3CmRpZmYgLXUgLXAgLTIgLXIxLjEzNyBwYXRoLmNjCi0tLSBwYXRoLmNjCTIwMDEv
MDUvMDkgMTg6NTk6MTAJMS4xMzcKKysrIHBhdGguY2MJMjAwMS8wNS8xMCAxMjo1NDoxMwpAQCAt
MjQyMSw0ICsyNDIxLDUgQEAgc3ltbGluayAoY29uc3QgY2hhciAqdG9wYXRoLCBjb25zdCBjaGFy
IAogCQkgICAgJiYgV3JpdGVGaWxlIChoLCB3MzJ0b3BhdGgsIHdpbl9sZW4sICZ3cml0dGVuLCBO
VUxMKQogCQkgICAgJiYgd3JpdHRlbiA9PSB3aW5fbGVuOworICAgICAgICAgIE5UV3JpdGVFQSh3
aW4zMl9wYXRoLCBTWU1MSU5LX0VBX05BTUUsIHRvcGF0aCwgc3RybGVuICh0b3BhdGgpICsgMSk7
CiAJfQogICAgICAgZWxzZQpAQCAtMjcwMyw0ICsyNzA0LDEyIEBAIHN5bWxpbmtfaW5mbzo6Y2hl
Y2sgKGNoYXIgKnBhdGgsIGNvbnN0IHMKICAgICAgIGlmICghc3ltX2NoZWNrKQogCWdvdG8gZmls
ZV9ub3Rfc3ltbGluazsKKworICAgICAgaWYgKHN5bV9jaGVjayA+IDAgJiYKKyAgICAgICAgICAo
cmVzID0gTlRSZWFkRUEgKHN1ZmZpeC5wYXRoLCBTWU1MSU5LX0VBX05BTUUsIGNvbnRlbnRzLCBz
aXplb2YgKGNvbnRlbnRzKSkgLSAxKSA+IDApCisJeworCSAgcGZsYWdzID0gUEFUSF9TWU1MSU5L
OworCSAgZGVidWdfcHJpbnRmICgiZ290IHN5bWxpbmsgZnJvbSBlYTogJXMiLCBjb250ZW50cyk7
CisJICBnb3RvIG91dDsKKwl9CiAKICAgICAgIC8qIE9wZW4gdGhlIGZpbGUuICAqLwpJbmRleDog
cGF0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy93aW5zdXAvY3lnd2luL3Bh
dGguaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNgpkaWZmIC11IC1wIC0yIC1yMS4yNiBwYXRo
LmgKLS0tIHBhdGguaAkyMDAxLzA0LzE3IDIzOjEyOjExCTEuMjYKKysrIHBhdGguaAkyMDAxLzA1
LzEwIDEyOjU0OjEzCkBAIC0xMjksNCArMTI5LDYgQEAgY2xhc3MgcGF0aF9jb252CiAjZGVmaW5l
IFNZTUxJTktfQ09PS0lFICIhPHN5bWxpbms+IgogCisjZGVmaW5lIFNZTUxJTktfRUFfTkFNRSAi
LkNZR1NZTUxJTksiCisKIC8qIFNvY2tldCBtYXJrZXIgKi8KICNkZWZpbmUgU09DS0VUX0NPT0tJ
RSAgIiE8c29ja2V0ID4iCkluZGV4OiBzZWN1cml0eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvc3JjL3NyYy93aW5zdXAvY3lnd2luL3NlY3VyaXR5LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNwpkaWZmIC11IC1wIC0yIC1yMS43IHNlY3VyaXR5LmgKLS0tIHNlY3VyaXR5LmgJMjAwMS8w
NC8zMCAyMToxOTo0MgkxLjcKKysrIHNlY3VyaXR5LmgJMjAwMS8wNS8xMCAxMjo1NDoxMwpAQCAt
MTAzLDMgKzEwMywzIEBAIGV4dGVybiBTRUNVUklUWV9BVFRSSUJVVEVTICpfX3N0ZGNhbGwgc2UK
IAogaW50IF9fc3RkY2FsbCBOVFJlYWRFQSAoY29uc3QgY2hhciAqZmlsZSwgY29uc3QgY2hhciAq
YXR0cm5hbWUsIGNoYXIgKmJ1ZiwgaW50IGxlbik7Ci1CT09MIF9fc3RkY2FsbCBOVFdyaXRlRUEg
KGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKmF0dHJuYW1lLCBjaGFyICpidWYsIGludCBs
ZW4pOworQk9PTCBfX3N0ZGNhbGwgTlRXcml0ZUVBIChjb25zdCBjaGFyICpmaWxlLCBjb25zdCBj
aGFyICphdHRybmFtZSwgY29uc3QgY2hhciAqYnVmLCBpbnQgbGVuKTsK

------------A51F323E29C4263B--


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019