[Patch] Fix libstdc++/13369

Paolo Carlini pcarlini@suse.de
Mon Dec 29 20:24:00 GMT 2003


Hi,

the fix is quite straightforward. A nice "side effect" is that
performance-wise we also improve on the current situation: I have
expounded a __verify_grouping for char and, first, compiled -O2
and stripped (x86-linux):

3.4
---
656 bytes

3.4 + patch
-----------
596 bytes

Then, exercised a bit with:

  std::string curr("\003\003\003");
  std::string ref("\003");
  for (size_t i = 0; i < 100000000; ++i)
    __verify_grouping(ref, curr);

3.4
---
2.860u 0.000s 0:02.87 99.6%     0+0k 0+0io 164pf+0w

3.4 + patch
-----------
1.530u 0.000s 0:01.54 99.3%     0+0k 0+0io 164pf+0w

Tested x86-linux, will wait 'til tomorrow.

Paolo.

P.S. While at it I have verified that __add_grouping is OK: probably
will prepare some testcases, anyway...

////////////
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CL_13369
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20031229/91526fae/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch_13369
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20031229/91526fae/attachment-0001.ksh>


More information about the Libstdc++ mailing list