Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.development.apps > #639

Re: memory use

From Bob Tennent <BobT@cs.queensu.ca>
Newsgroups comp.os.linux.development.apps
Subject Re: memory use
Date 2011-02-02 20:22 +0000
Organization albasani.net
Message-ID <slrnikjf85.au4.BobT@linus.cs.queensu.ca> (permalink)
References <slrnikj71n.9i7.BobT@linus.cs.queensu.ca> <iicc2g$h26$1@reader1.panix.com>

Show all headers | View raw


On Wed, 2 Feb 2011 19:42:08 +0000 (UTC), Grant Edwards wrote:
 > On 2011-02-02, Bob Tennent <BobT@cs.queensu.ca> wrote:
 >
 >> A C program called musixflx is used as the second pass of a
 >> three-pass TeX-based system called musixtex.  The program was the
 >> first C program written by a Fortran programmer.  It has definitions
 >> as follows:
 >>
 >>   # define MAX_BARS    2048  /* max number of bars */
 >>
 >>   int zbar[MAX_BARS], lr_repeat[MAX_BARS], raggedline[MAX_BARS],
 >>       l_repeat[MAX_BARS], barno[MAX_BARS], ...
 >>
 >>   double hardbarlength[MAX_BARS], softbarlength[MAX_BARS],
 >>          width_leftrightrepeat[MAX_BARS], width_leftrepeat[MAX_BARS],
 >>          ...
 >>
 >> Typically the number of bars in a piece is much smaller than MAX_BARS.
 >>
 >> Would it be best to
 >>
 >>  + leave the code alone and let the virtual-memory functions of the
 >>    operating system manage the memory
 >>
 >>  + use "extensible" arrays (i.e., use realloc to copy small arrays to
 >>    larger ones when necessary)
 >>
 >> And would there be any benefit to using a single array of structures
 >> instead of many parallel arrays?
 >
 > You're going to have to define "best" and "benefit" before anybody can
 > attempt to answer your question.  Is the current design causing some
 > sort of problem for you?  If so, what is that problem?

Naively, it looks like the program uses a huge amount of memory and
it's conceivable that extensible arrays would avoid this. But I suspect
virtual memory will keep unused array space out of RAM so there's no
significant performance penalty in the existing code.  

But even if the above is true, it may be that one big array of structs
will have less overhead than many parallel arrays.

Back to comp.os.linux.development.apps | Previous | NextPrevious in thread | Find similar


Thread

Re: memory use Grant Edwards <invalid@invalid.invalid> - 2011-02-02 19:42 +0000
  Re: memory use Grant Edwards <invalid@invalid.invalid> - 2011-02-02 21:16 +0000
  Re: memory use Bob Tennent <BobT@cs.queensu.ca> - 2011-02-02 20:22 +0000

csiph-web