> AFAIK we settled on a simpler one dropping columns at stream-out time
> that also helped.
> 
> As for the correct way to do the optimization we agreed(?) that streaming
> the locations elsewhere and using references to them is more appropriate.
> At stream-in (or before stream-out) we can then read the location pairs
> and sort them before assigning linemap entries.

Yep, however what makes difference is the sharing in between compilation units
(so sameheaders gets assigned same locations) rather than sharing within the 
unit
(by my experiments).  The separate streaming+sorting will only help sharing
within the unit.

Perhaps something rather simplelike keeping previous stream and merging them 
will
work, too, not sure if better than the simple cache hash though.
Or perhaps we can somehow track per-source-file location spaces. Don't know.

Honza

Reply via email to