|Optimizing structure layout email@example.com (1997-03-21)|
|Re: Optimizing structure layout firstname.lastname@example.org (Julian Dolby) (1997-03-22)|
|Re: Optimizing structure layout email@example.com.OZ.AU (1997-03-22)|
|Re: Optimizing structure layout firstname.lastname@example.org (Christopher Glaeser) (1997-03-22)|
|Re: Optimizing structure layout email@example.com (Michael Meissner) (1997-03-27)|
|Re: Optimizing structure layout firstname.lastname@example.org (David L Moore) (1997-03-27)|
|Re: Optimizing structure layout email@example.com (1997-03-31)|
|Re: Optimizing structure layout firstname.lastname@example.org (John Pieper) (1997-03-31)|
|Re: Optimizing structure layout email@example.com (Valentin Bonnard) (1997-03-31)|
|From:||David L Moore <firstname.lastname@example.org>|
|Date:||27 Mar 1997 13:37:58 -0500|
|Keywords:||storage, optimize, parallel|
Christopher Glaeser wrote:
> Is your question limited to C-style struct data structures, or all data
> structures, including arrays?
> Regarding array data structures, there are compilers that reshape arrays
> for optimal memory and cache alignment to improve the performance of
> algorithms such as matrix multiply.
One optimization which can have huge effects on caching is splitting
arrays of structures into separate arrays for each element. This works
when only a few elements from each struct are accessed in any given
Its also yet another example, in the general case, of ye-old graph
partitioning problem which seems to pop up all over the place. (ie,
given a graph with flows, partition the graph so as to minimize the
flows between the sub-graphs)
This optimization is well known, but has anyone actually ever
implemented it in a real compiler?
Return to the
Search the comp.compilers archives again.