usenet@cps3xx.UUCP (Usenet file owner) (11/28/89)
In article <832@lpami.wimsey.bc.ca> lphillips@lpami.wimsey.bc.ca (Larry Phillips) writes: >In <291@intersil.uucp>, hamilton@intersil.uucp (Fred Hamilton) writes: >> >>The OS thrashes throught the entire directory before giving you the list. >> > >Yes, this is exactly what happens. The big advantage of the Amiga filing >system is that a fully known filename is found VERY quickly. The reason for Quite true. Question: How much time is *WASTED* in directory scans?!?! I would bet that the biggest timewaster is exactly this, not in looking up/opening specific files. Being able to look up a specific file quickly is nice, but not worth the great expense of the current directory scan time. Would it be too much to ask to put an extra block (or chain of blocks) onto directories (maybe optional?) to make dir scans happen as fast as known file lookups? This could be as simple as a hidden file with an uncommon name (like #?). Then teach the filesystems about this. It the file exists, then use it, else default to current (mis)behavior. The advantage of this scheme would be total backwards compatibility, with *much* improved dir scans. For simplicity this file would not need to contain anything but a list of names (and maybe sizes). Only when a program has used this file to get a list of names would it use the real directory. This is not really meant as a flame, but I am *very* tired of having to wait *sooooo* long just for something like "dir #?.c". Even better -- a FASTER-FILE-SYSTEM. Make it have directories be files (a la unix). It the directory is kept in sorted order, then scans would be quick, and known name lookup would be <= LOG2(n). THis would be a *great* improvement over the current situation. *Please no flames* *but I welcome intelligent discussion about this topic* Joe Porkka porkka@frith.egr.msu.edu