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]

Rethinking... (Re: RFC: fp printing speedup...)


Hi again,

now that I'm finally catching up with the whole caching mechanism
currently in place (sorry again!)...

Second, and probably more important, the cache doesn't get rebuilt
when the new locale is created.  The numpunct<char> cache is created
for the C locale.  When the new locale is created, the numpunct<char>
cache from the C locale is referenced, rather than constructing a new
one using the new ctype<char>.

As I'm looking at this. I don't see any great way to solve this short
of removing cache reference-counting.  Even if you destroy a
pre-existing cache associated with the new facet added to the new
locale, it won't solve this problem because it is the numpunct<char>
cache that is broken rather than the ctype<char> cache (which doesn't
actually exist).

... why don't we have it? Having it would in some way help for this
issue too?

I'm asking because I think that eventually we'll have it, because 'narrow',
'widen', 'is' (we have already a PR for this: 11723) must be fast in order
to have an efficient implementation of the monetary and time facets.

Paolo.


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