[C++-sig] Re: Loading Boost.Python made bindings is horribly slow?

Niall Douglas s_sourceforge at nedprod.com
Sat Apr 3 20:30:04 CEST 2004

Hash: SHA1

On 3 Apr 2004 at 9:35, David Abrahams wrote:

> I'm looking forward to that!  Something to watch out for if you do
> this: if
>      __attribute__ ((visibility("default"))) 
> applies to classes, you'll have to decide how to handle member
> functions that are declared inline.  If you don't handle it the same
> way as Win32 compilers do, you could introduce subtle client
> portability problems.  Of course, if it doesn't apply to classes, your
> feature won't be nearly so useful ;-)

No, it will apply to classes. The patch at 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id’83 by someone expert at 
modifying the GCC internals points me the right way. It'll also use 
identical syntax to MSVC, despite the misgivings of the GCC crew.

I was going to always mark inline functions as hidden. Also all 
templates. This creates code bloat but gives far faster loading & 
linking times plus less coupling problems between modules. It also 
follows MSVC.

As my previous post pointed out, RTTI is going to be a headache - if 
you remember Dave some months ago you agreed that some form of being 
able to filter out the RTTI would be useful in reducing binary size - 
I figure that if most of the RTTI is not public, it lets the compiler 
+ linker know it can be elided (whether the GNU tools can already do 
this is unknown).

Debugging this 130Mb shared object is a royal PITA. I'm getting 
tempted to delay release of v0.75 until GCC is patched, but then no 
one else could make my library without my patch :(


Version: idw's PGP-Frontend / 9-2003 + PGP 8.0.2


More information about the Cplusplus-sig mailing list