Optimizing structure layout

21 Mar 1997 10:24:58 -0500

          From comp.compilers

Related articles
Optimizing structure layout erik.schnetter@student.uni-tuebingen.de (1997-03-21)
Re: Optimizing structure layout dolby@cs.uiuc.edu (Julian Dolby) (1997-03-22)
Re: Optimizing structure layout fjh@mundook.cs.mu.OZ.AU (1997-03-22)
Re: Optimizing structure layout cdg@nullstone.com (Christopher Glaeser) (1997-03-22)
Re: Optimizing structure layout meissner@cygnus.com (Michael Meissner) (1997-03-27)
Re: Optimizing structure layout dlmoore@ix.netcom.com (David L Moore) (1997-03-27)
Re: Optimizing structure layout tl@funcom.com (1997-03-31)
[2 later articles]
| List of all articles for this month |

From: erik.schnetter@student.uni-tuebingen.de
Newsgroups: comp.compilers
Date: 21 Mar 1997 10:24:58 -0500
Organization: Compilers Central
Keywords: optimize, storage, question, comment


While it is quite common that compilers optimize the code they
produce, I haven't heard of a commonly used system that really
optimizes the layout of the data structures that are generated. Are
there such systems?

What I have heard of is reordering the fields and/or inserting some
padding in order to comply to alignment constraints. But what about
omitting fields that are never used; what about omitting fields that
can be trivially computed from the other fields; what about inserting
"caching" fields that hold values that are expensive to compute?

Such a system necessarily needs some sort of access control to the
data structure, i. e. "privacy" or "information hiding". It probably
also needs profiling information to detect cases where unneeded
information is calculated or where information is calculated too

Does lazy evaluation go into this direction?


Erik Schnetter, erik.schnetter@student.uni-tuebingen.de
[I believe that you'll find the data base crowd think about optimizations
like this, since they tend to have higher level data descriptions to work
from than most programming languages do. -John]

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.