
On Jul 2, 2004, at 3:25 AM, Vladimir Prus wrote:
Doug Gregor wrote:
Given that, IIUC, boost::function has to do indirect call somewhere anyway, I'm not sure inlining is such a good idea. Maybe some of the methods should be declared out-of-line, so that compiler don't try to inline them?
If I can find a way to do it that won't break many compilers (e,g,, MSVC 6 that can't handle out-of-line definitions for templates) I'll do this for 1.32.0; otherwise, it'll have to wait until after the release.
Maybe, we can #ifdef MSVC6 and use inline definition on that comlier? I've tried the attached patch and each call now costs about 20bytes (even 14 on 3.4), which is quite an improvement.
I've checked in your patch, using BOOST_WORKAROUND instead of _MSVC. Thanks! Doug