[libstdc++ PATH] tr1::bind support
Paolo Carlini
pcarlini@suse.de
Wed Mar 23 09:28:00 GMT 2005
Benjamin Kosnik wrote:
>>What can we do? For one, we can scale back to 10 parameters across the
>>board. It's the minimum requirement, and although I'd like more
>>parameters it just takes too long to compile. But, we're still 3 times
>>slower than the Boost equivalents. We can try to reduce the header
>>dependencies a bit (for instance, <tr1/functional> ends up including
>><string>, which includes <algorithm>, etc.) and factor out the core
>>parts of <tr1/functional> that <tr1/tuple> needs, so that it doesn't
>>incur all of that overhead. The long-term solution is probably
>>something like variadic templates, but that's a big undertaking for a
>>potentially esoteric feature that still hasn't been completely defined
>>:)
>>
>>
>Thanks for the analysis. I think having the machinery to do more than 10
>parameters, but only actually doing 10 parameters by default is fine.
>For string, you may want to try using <bits/stringfwd.h> if you can get
>away with it.
>
>
Indeed, this morning, I woke up with a tought in mind: maybe, if there is a
quadratic behavior of sort around, scaling down to 10 parameters could help
a lot!
Thanks a lot Doug and Chris from me too, both for the analysis and the work.
>I don't want to belabor this point (but perhaps have already done so),
>but I think experimenting with designs such as tuple et. al that
>implicitly require variadic templates really necessitate some kind of
>experimental compiler support.
>
>
Yes. In my opinion, we should really start investigating that. Zack
mentioned
variadic templates and we are so lucky to have Doug as contributor:
would the
C++ front-end maintainers favor an experimental implementation of variadic
templates? In principle, I mean, we are doing (high quality ;)
science-fiction,
here...
Paolo.
More information about the Libstdc++
mailing list