[Patch, fortran, RFC] PR 40958 Reduce size of module files
Mikael Morin
mikael.morin@sfr.fr
Fri Nov 25 23:15:00 GMT 2011
On Friday 25 November 2011 11:10:01 Janne Blomqvist wrote:
> Based on a brief inspection of the code, most if
> not all of these seeks are for a very short distance (typically peek a
> few bytes ahead in the stream, then seek back)
I'm afraid they aren't.
The moves are as follows (-: sequential, x: seek)
--> beginning of file
- skip operator interfaces
- skip user operators
- skip commons, equivalences, and derived type extensions
- register the offset of each symbol node and skip it
- (this is usually
- the biggest part of the module)
- read the symtree list and mark needed the associated symbols (if they are
wanted)
--> end of file
x go back to operator interfaces and load them
- load user operators
- load commons
- load equivalences
xxxxxxx now the required symbols are known, so for each one of them seek to
its offset and load it. This requires a lot of seeks, and if the number of
symbols, components etc is high in the module, they are not necessarily "short
distance"
x load derived type extensions
We'll see the results from Salvatore, but I'm not very optimistic.
Mikael
More information about the Fortran
mailing list