home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / c / 11408 < prev    next >
Encoding:
Internet Message Format  |  1992-07-21  |  1.9 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!jvnc.net!yale.edu!qt.cs.utexas.edu!cs.utexas.edu!tamsun.tamu.edu!tsmith
  2. From: tsmith@cs.tamu.edu (Todd M Smith)
  3. Newsgroups: comp.lang.c
  4. Subject: good memory allocation strategies?
  5. Message-ID: <1992Jul21.214115.28569@tamsun.tamu.edu>
  6. Date: 21 Jul 92 21:41:15 GMT
  7. Sender: news@tamsun.tamu.edu (Read News)
  8. Reply-To: tsmith@cs.tamu.edu
  9. Organization: Computer Science Department, Texas A&M University
  10. Lines: 40
  11.  
  12.  
  13. I thought that perhaps this would be a FAQ, but I couldn't find it in
  14. the FAQ.
  15.  
  16. I am working on a moderate size (~10000 lines so far) system on an SGI
  17. workstation running UNIX system V.3, and I am wondering about some
  18. memory allocation issues.  Here are the two situations I am dealing
  19. with.
  20.  
  21. 1)  I have need for a lot of variable-size data structures (lists of
  22. items), so I currently have linked lists running all over the place.
  23. 2)  Soon, I might also need to use large contiguous blocks of space,
  24. but the size of these can change also.
  25.  
  26. I guess this is a common trade-off.  I don't really want to limit the
  27. user by using arrays that I "think" are bigger than they will need.
  28. But dynamic stuff can be a pain sometimes, and I don't want to slash
  29. up the memory.
  30.  
  31. So I need some information on the following questions:
  32.  
  33. 1) Is it reasonable (in general) to ask the user to live with a big
  34. limit?
  35. 2) How much of a speed penalty does dynamic allocation really impose?
  36. 3) How serious of a problem can memory fragmentation be on a modern
  37. workstation?
  38. 4) If dynamic allocation is used, what is the best strategy for
  39. handling blocks of memory whose sizes change, i.e., initially
  40. overallocating, constantly realloc()ing, keeping track of unused
  41. space, writing your own complete memory management system :-),
  42. etc.?
  43.  
  44. If there are other pertinent issues that I have left out, please
  45. include them too.  Thanks in advance.
  46.  
  47.  
  48. Todd Smith
  49. --
  50. Todd Smith                                      tsmith@cs.tamu.edu
  51.                     Life is a word problem.
  52.