Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.development.apps > #639
| 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> |
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 | Next — Previous in thread | Find similar
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