I've got my old 3.9 bb2 installation running again. It's on a 8GB microdrive that has multiple partitions.
One of the partitions contains a LOT of folders with WHDLoad games, each folder has a game in it. When I open this partition in workbench it takes a few minutes before the listing shows. In the meantime I can't do anything else.
This partition is either in FFS of SFS, I don't quite remember, but it takes so long. Is there a way to speed up the directory listing?
Yes. But you would have to change how the data in side that folder is organized by breaking it down into subdrawers, of which each would holds a part of the whole set. You don't have much leverage here: the most effective change you can make is in giving the operating system less work to do.
The source of the performance problems is manyfold.
The file system performance is not too good on AmigaOS, both because of how file operations are being performed by the operating system, but also how poorly the Amiga default file system works.
The way in which Workbench accesses the contents of a directory, figuring out which icons should be displayed, is very complex. Workbench has to collect the names of all icon files in the directory, then load the icons and place them in the drawer window. This may not sound like too much effort, but the way in which this work is being done comes with a large overhead: whenever Workbench finds an icon, it switches to loading that icon, then resumes reading the directory (going back and forth between the two tasks is very costly). While it is scanning, Workbench cannot do anything else, except react to drawer windows being resized or borught to the foreground.
Lastly, if you did not snapshot the icons which Workbench found, additional time will be spent by placing them in the window, so as not to have them overlap with other icons. The process by which the icon position is picked works reasonably well for small numbers of icons, but it quickly becomes slower the more icons are in a drawer.
The deck is stacked against you. All the software layers of the operating system which are involved in eventually showing icons in a Workbench drawer window were originally designed for the small computer system which the Amiga was in 1986. And for this target platform, the software just about worked (arguably, it worked poorly even back then).
What you can do today in order to obtain better performance is in taking measures to make the Amiga do less work. Because the more work it has to do, the more time will be spent: for two times the work, you may see an increase of 4-6 times the time spent on doing it.
I remember from older installations there was a .fastdir file that contained the listing? Never seen that on 3.9 though.
That's because the ".fastdir" files are from an entirely different age, and a different software. They were created by a program called "CLImate", which could be considered one of the many precursors to "Directory Opus" (just to name the most prominent program of its kind). If I remember correctly "CLImate" was released in 1986/1987.
The ".fastdir" files were snapshots of the contents of the respective drawers which they were found in. By reading the ".fastdir" files, "CLImate" could quickly display what was stored in the drawer without going through the lengthy process of scanning it. Scanning a drawer involves reading about 40-50 times the amount of data that is actually going to be used for showing the drawers listing (name, size, date, etc.). Hence the name ".fastdir".