Elektrine lite

← Feed

@jimluther@techhub.social

Post #2046394

2025-03-27 04:27 UTC

* 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

Replies (1)

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

    * I replaced routines that moved blocks of memory 1-byte at a time in loop with calls to BlockMoveData for improved performance. Someone at sometime thought BlockMove/BlockMoveData couldn't be called at interrupt time and added that slow memory copy routine -- they were wrong. * I replaced BlockMove calls with BlockMoveData wherever possible (BlockMove was only needed when moving code) for improved performance. * I locked out loading on Mac OS versions earlier than 7.6 (this version of AppleShare was only tested with Mac OS 9.1/9.2.x but it should work back to 7.6). That's because code in the AppleShare client had required features only in 7.6 and later. * I removed dead pre-System 7.6 code (much of it still ran during initialization but did nothing). 4/5 🧵 #GlobalTalk #MARCHintosh

    Open ##2046395