Elektrine lite

← Feed

@jimluther@techhub.social

Post #2046393

2025-03-27 04:26 UTC

* I added multiple AFP enumeration caches (16 of them) so when multiple directories are simultaneously being enumerated with GetFInfo or GetCatInfo, those enumerations were not throwing out each other's data. This was the bug I was supposed to fix. * I noticed the enumeration caches were small (512 bytes) -- the same size they'd been since 1987 when memory was very tight on a Mac. I increased size of those enumeration caches. The result is enumerating larger directories is done with fewer transactions with the server. 2/5 🧵 #GlobalTalk #MARCHintosh

Replies (1)

  • @jimluther@techhub.social 2025-03-27 04:27

    * I made MakeFSSpec much faster. When System 7.0 first shipped, I got a developer bug that showed MakeFSSpec (new in System 7) was very slow on AppleShare. I filed a bug for the developer and even explained what the problem was. The code would enumerate a directory to find a matching filename to the filename passed to MakeFSSpec. If the filename was the last to be seen in a directory enumeration, that resulted in many transactions. With my rewrite, making an FSSpec is accomplished with only one or two transactions with the server. This bug effected creating FSRefs, too. * Increased size of response buffers used for ATP to hold 8 full-sized ATP response packets (it was 1) to increase network performance (reduce the number of transactions with the server). Why was it so small? The code had not changed since 1987. 3/5 🧵 #GlobalTalk #MARCHintosh

    Open ##2046394