[libstdc++ patch] tr1::bind, take 2

Benjamin Kosnik bkoz@redhat.com
Wed Mar 30 19:42:00 GMT 2005


> Attached is version 2 of the tr1::bind patch, which limits everything to 10 
> parameters (to minimize compile time). It includes Chris Jefferson's tuple 
> iteration header patch, so that we have a single iteration mechanism. There 
> are no other changes since the initial version.

Cool.
 
> Tested on i686-pc-linux-gnu. No failures on either mainline or 4.0 branch. 
> Okay for both mainline and 4.0?

This is ok with me as well. I have to note that there is a sizable time increase still.

One solution is compiler related.
Another solution(?) is PCH related (ie putting tr1 stuff in stdc++.h.gch, or putting it in tr1.h.gch)

What's the plan WRT these items? Just curious.

For the record, here's what I get for make check pre/post:


pre:
                === libstdc++ Summary ===

# of expected passes            3620
# of unexpected successes       1
# of expected failures          8

681.895u 124.442s 13:51.78 96.9%        0+0k 0+0io 11pf+0w


post:
                === libstdc++ Summary ===

# of expected passes            3628
# of unexpected successes       1
# of expected failures          8

702.440u 123.665s 18:59.95 72.4%        0+0k 0+0io 0pf+0w

Ouch.

> BTW, the two Perl scripts are included for archival purposes. They're used to 
> generate the repeat.h and bind_repeat.h headers, so that later on we can find 
> ways to increase the number of parameters (e.g., based on some libstdc++ 
> macro). But that's surely not 4.0 territory.

If you'd like, you can check these scripts into libstdc++/scripts. If
you think it'd make it easier to have them under CVS and where people
can get to them without searching the mailing list. 

-benjamin



More information about the Libstdc++ mailing list