home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!darwin.sura.net!jvnc.net!rutgers!micro-heart-of-gold.mit.edu!news.media.mit.edu!news.media.mit.edu.!sro
- From: sro@media.mit.edu (Shawn O'Donnell)
- Newsgroups: comp.sys.mac.programmer
- Subject: Re: A few more suggestions for THINK C
- Message-ID: <SRO.92Jul21221949@media-lab.media.mit.edu>
- Date: 22 Jul 92 03:19:49 GMT
- References: <SJE.92Jul20180620@xylos.ma30.bull.com>
- Sender: news@news.media.mit.edu (USENET News System)
- Distribution: comp
- Organization: M.I.T. Media Laboratory
- Lines: 31
- In-Reply-To: sje@xylos.ma30.bull.com's message of 20 Jul 92 18:06:20
-
- > 4) There should be some kind of autosegmentation option with the
- > project window. Why should a deveoper fiddle with moving project
- > entries around? It would be much nicer if THINK C could just generate
- > code segment partitioning without human intervention. How hard is it
- > to count to 32 KByte? After all, the compiler already keeps track of
- > this information.
-
- There's more to it than simply counting to 32 kByte, but it is an
- interesting suggestion. The reason they let mere humans move code
- from code block to code block is that they were hoping we might come
- up with a better-than-random assignment. In a better-than-random
- assignment, your Mac won't be swapping code segments in and out of
- memory with each function call. Functions that frequently call other
- particular functions should reside in the same block, if possible.
-
- THINK C might be able to make a reasonable first guess at which
- functions should live with which other functions, but you can't tell
- ahead of time which functions will be calling which other functions.
- (The only way you'd know is if your program is independent of user
- input or operates on no more than one data set...)
-
- What would be useful is if THINK C would log code swaps for you
- while you're developing the code. Then, if you notice that there
- is a lot of unrest on the heap, you can consider reassigning
- project entries from one segment to another. It may already do
- this.
-
- Pardon my ignorance if THINK C already has such a function. Better
- tell me now what it is.
-
- --Shawn
-