CompuServe Thread

Forum unknown · Programming

#Smart Ctrl-A-A

11 messages in this thread
#68644From: Charlie HeathMay 21, 1987 1:35 AM
What's needed is a WBench that lets you do other things while the directory is being read, like my filename requester. Sigh. Anyhow, within a few months there will be caching soloutions to the directory speed problems – the problem now is that "addbuffers" works at a sector level, and doesn't know a sector is in memory that has directory info in the trackdisk buffer. So it does a seek, reads another sector, does a seek back to the same track again… Anyhow, a bit of code on top of trackdisk.device will solve all woes for anybody with enough ram to keep a few tracks in memory.
#68714From: Ariel ButlerMay 21, 1987 2:43 PM
Great, Charlie!! I was wondering if a read-cache of the directory blocks wouldn't be the simplest solution for both 512K and > 512K users. You could just turn if off/on based on your available mem. BTW, talked to Rob Peck about child process instability, and he says that Neil Katin told him to do a Forbid() just before exiting the child process. He didn't say why, but I suspect it's to keep the child from being UnLoadSeg'd before it's fully unloaded. Thanks for your help..
#68778From: Charlie HeathMay 21, 1987 11:59 PM
There's lots of possibilities regarding caching, I don't know the DOS handlers well enough to guess how easy any in particular would be. Caching directory blocks is likely to be among the best, in addition to detecting directory blocks in tracks which are otherwise flushed by the next seek.
#68778From: Charlie HeathMay 21, 1987 11:59 PM
There's lots of possibilities regarding caching, I don't know the DOS handlers well enough to guess how easy any in particular would be. Caching directory blocks is likely to be among the best, in addition to detecting directory blocks in tracks which are otherwise flushed by the next seek.
#68714From: Ariel ButlerMay 21, 1987 2:43 PM
Great, Charlie!! I was wondering if a read-cache of the directory blocks wouldn't be the simplest solution for both 512K and > 512K users. You could just turn if off/on based on your available mem. BTW, talked to Rob Peck about child process instability, and he says that Neil Katin told him to do a Forbid() just before exiting the child process. He didn't say why, but I suspect it's to keep the child from being UnLoadSeg'd before it's fully unloaded. Thanks for your help..
#68790From: Vic WagnerMay 22, 1987 2:34 AM
Charlie, Since a directory never takes more than one (1) sector, the caching doesn't really have to do a lot of work.
#68871From: Charlie HeathMay 22, 1987 6:20 PM
Each directory entry is only one sector, the problem is that DOS doesn't understand tracks so it throws away 14 out of 15 sectors it's got ripe for picking.
#69000From: Vic WagnerMay 23, 1987 3:14 PM
Charlie, AmigaDOS only puts 11 sectors per track, but I catch your drift…10 out of 11.
#69000From: Vic WagnerMay 23, 1987 3:14 PM
Charlie, AmigaDOS only puts 11 sectors per track, but I catch your drift…10 out of 11.
#68871From: Charlie HeathMay 22, 1987 6:20 PM
Each directory entry is only one sector, the problem is that DOS doesn't understand tracks so it throws away 14 out of 15 sectors it's got ripe for picking.
#68790From: Vic WagnerMay 22, 1987 2:34 AM
Charlie, Since a directory never takes more than one (1) sector, the caching doesn't really have to do a lot of work.