Subject: Re: [boost] [Booster] Or boost is useless for library developers
From: Lassi Tuura (lat_at_[hidden])
Date: 2010-05-20 15:43:08
>> There are 544'533 symbols which represent 142'548'100 bytes. Of this there are 272'190 weak symbols, or 43'565'063 bytes.
> Any idea how much of the symbol space would go away with proper application of symbol visibility, such as defaulting to hidden and only exposing those that are needed? I realize that's hard to measure without actually having gone through the exercise of getting all that stuff done right, which may be quite hard in some cases (especially when dealing with third-party code). See the currently ongoing thread with subject "GCC symbol visibility across shared libraries".
We are looking into it, but I don't have the numbers, sorry. We know enough that it's interesting; there were some snags and it was disabled again. We are currently only looking setting visibility of *inlines* to hidden, looking at more extensive controls is a much longer-term project.
Unfortunately the inline visibility controls in GCC only affect class members, it doesn't control free template functions (from memory, but something like that). It helped quite a bit, but not nearly as much as I had hoped for. But it does help our start-up times, less time spent for relocations and so on.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk