This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ctype optimization work


Paolo Carlini writes:
 > Jerry Quinn wrote:
 > 
 > > I just looked closer at this. One problem is that you can't build the
 > > table in the ctype<wchar_t> constructor. There's no way to delay the
 > > table construction until a derived class constructor finishes
 > > executing. If you construct the table too soon, that may break a
 > > derived do_narrow function.
 > 
 > I don't follow, honestly. My idea is really straightforward, identical
 > to what currently *already* happens for moneypunt and numpunct and
 > _M_initialize_moneypunct() and _M_initialize_numpunct(). Could you
 > possibly explain your concerns in better detail?

OK, I was thinking that you would try to eliminate the call to the
virtual ctype<wchar_t>::do_narrow().  If the speedup code is confined
to the do_narrow function, then what I was saying doesn't apply.

My thinking has been colored by looking at ctype<char>.
ctype<char>::do_narrow just returns what it is given, so nothing can
really be improved there.  The only improvement is to avoid calling
do_narrow when possible.

With ctype<wchar_t> you're getting most of the speedup by avoiding the
call to wctob.  This seems to be a big win.

Jerry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]