Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!shadooby!samsung!uakari.primate.wisc.edu!ames!sun-barr!newstop!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga.tech Subject: Re: AmigaDos directory knowledge Message-ID: <128503@sun.Eng.Sun.COM> Date: 29 Nov 89 00:30:35 GMT References: <832@lpami.wimsey.bc.ca> <87.filbo@gorn.santa-cruz.ca.us> Sender: news@sun.Eng.Sun.COM Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 36 In article <87.filbo@gorn.santa-cruz.ca.us> (Bela Lubkin) writes: >Oh, come ois and always has been bogus. Even MS-DOS >does far better than AmigaDOS in this area. In the case of a known filename, >MS-DOS reads the directory (which is effectively a single small binary file), >searches it for the named file, and is done. Do your homework Bela, MS-DOS does a linear search of the directory structure and several searches when it is looking through nested directories. Linear structures work fine for small things (floppies come to mind) but don't scale well at all to big things like hard disks. Fill up a 20Meg hard disk with files in directories and subdirectories and benchmark MS-DOS against AmigaDOS when finding random files in the name space. Then fill up a 30Meg disk, if you have DOS 3.3 or higher try it on a 40Meg disk and then an 80 meg disk. You will find that MS-DOS is getting slower and slower whereas the time for AmigaDOS is constant. Arguing the superiority of MS-DOS using a floppy is like arguing the superiority of AmigaDOS using a 300Meg hard drive. The boundary conditions are uninteresting. If you have one file system for all disk devices in the system, what do you optimize for? I would argue that the world is backwards, since you can hardly find an MS-DOS system that doesn't have a hard drive, and yet lots of Amigas don't. The MS-DOS filesystem was born of the CP/M file system and it was built for floppies. Great, the AmigaDOS file system was born of TriPOS which was built for Winchester drives. The heritage shows through. Fortunately, the Amiga's file systems are loadable so you can use one file system for floppies and one for harddisks. Now isn't that special? Of course the Amiga file system isn't as well suited to wildcarding as a linear search is. Of course if you benchmark which is used more, Open() or ExNext() you might be suprised to find there is a bigger win optimizing Open() than there is ExNext(). My opinion of course, --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@Eng.Sun.COM These opinions are my own and no one elses, but you knew that didn't you. "If it didn't have bones in it, it wouldn't be crunchy now would it?!"