[Bug 3817] InstallShield very slow when copying many small files
Wine Bugs
wine-bugs at winehq.org
Mon Mar 12 03:11:37 CDT 2007
http://bugs.winehq.org/show_bug.cgi?id=3817
------- Additional Comments From scott at open-vote.org 2007-12-03 03:11 -------
1st comment:
The bug pretty clearly shows a specific case of showing nonexistence of a
case-insensitive name on a case sensitive filesystem, which isn't exactly a
string comparison like I talked about before (in-memory comparison). The problem
is higher level than the one that call would help out with. Personally, I would
have written the operation as a lookup on a trie generated for each directory's
file listings. I specifically say trie because so, so many people just dump shit
into a hash table and don't give a rip about memory use.
I'm not precisely sure how the vfat / fat32 driver handles existence of
case-insensitive filenames, but I'd recommend looking at that for a solution
from those who have put more than 2 minutes thinking about the issue. From what
I can tell in the posts, the existing method is really, really inefficient for
large numbers of files (and even worse for longer filename inputs).
I think it wouldn't be a problem to add some code to Wine itself to cache
filenames it encounters on a path internally - not necessarily as a kernel
extension for userspace. Another option as a stopgap solution is to write
something for FUSE to cover the case insensitivity problem at the filesystem
level and have Wine wrap around the local filesystem via FUSE. I dunno how
lightweight FUSE is, but it may be worth a shot.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list