Article 37516 of comp.sys.newton.misc: Path: samba.rahul.net!rahul.net!a2i!viper.inow.com!news1.aplatform.com!nntp.mainstreet.net!news.pbi.net!news.mathworks.com!bloom-beacon.mit.edu!senator-bedfellow.mit.edu!athena.mit.edu!sanj From: sanj@athena.mit.edu (Sanjay S Vakil) Newsgroups: comp.sys.newton.misc,comp.sys.newton.programmer Subject: Heap in Newton Devices Date: 21 Mar 1997 21:10:58 GMT Organization: Massachusetts Institute of Technology Lines: 38 Distribution: world Message-ID: <5guth2$sg2@senator-bedfellow.MIT.EDU> NNTP-Posting-Host: m33-222-9.mit.edu Xref: samba.rahul.net!rahul.net!a2i comp.sys.newton.misc:37516 comp.sys.newton.programmer:5989 With all the complaining about the MP2000 and heap issues, I thought I'd throw a little developer spin into the mix. Len Lutz mentioned that he isn't going to buy an MP2000 because it won't hold the all of the apps on the gargantuan card he wants to stick into it. With all due respect, I think that the fault for this is often with developers rather than with Apple. I have not (with the exceptions listed below) seen any reason for an application to take up any heap when it is not running. Exceptions: 1. Remove and install scripts (nothing you can really do about this) 2. Small amount of heap necessary for newton to reference the package (usually <.5k). Games that people create with ZStuff for YAZI take up about 500 bytes of heap, entirely due to the exceptions listed above, and I feel back about that. Given that, filling up a 20M card with dozen of apps should only take a small fraction of heap. Lets say you *every* infocom game (40?) on a card, taking up some 6M -- you should only use 20k of heap! In my opinion, there is *no* excuse for a developer to hang on to heap space on a device when their application is not running: stick stuff into soups where it won't matter, nil and removeslot() stuff when you are done with it, and in quitScripts. It is easy enough to determine if a particular app is wasting heap while closed: freeze it, check your heap, then thaw it, run it and check again. If you want to be exact, you can do soft resets after freezing and after thawing. Find stuff that is wasting space, and ask developers to fix it. I know that many people work very hard to make programs that are heap conscious and fast, and want to know when they have failed. sanj