[Mono-dev] Somebody please test this String patch

Andreas Nahr ClassDevelopment at A-SoftTech.com
Thu Jan 31 16:41:35 EST 2008


Attached is a new version.
As far as I can tell with a cygwin setup it passes all relevant unittests
and is able to compile mono without any problems. It also adds a few
unittest for cases that are currently incorrectly implemented in the string
class.

Happy Hacking
Andreas

> -----Ursprüngliche Nachricht-----
> Von: mono-devel-list-bounces at lists.ximian.com 
> [mailto:mono-devel-list-bounces at lists.ximian.com] Im Auftrag 
> von Andreas Nahr
> Gesendet: Montag, 28. Januar 2008 01:52
> An: 'mono-devel'
> Betreff: [Mono-dev] Somebody please test this String patch
> 
> This patch tries to get string a little bit out of its 
> miserable shape:
> 
> It fixes several bugs, and implements the majority of the 
> remaining internalcalls with optimized managed code, giving 
> performance increases for the most cases (sometimes quite a lot).
> 
> Fixed is:
> Bugs in parameterchecks for StartsWith, IndexOf, LastIndexOf 
> Marked possible bug in:
> Compare
> Managed Implementations of:
> PadRight, PadLeft, LastIndexOfAny, StringCopy, Trim, 
> TrimStart, TrimEnd, Split (Char versions), ToCharArray
> 
> It is not yet completely tested, but it would be nice if 
> somebody else could help a little bit - it's an important 
> class after all ;)
> 
> The patch also makes most of the String-icall.c file obsolete.
> 
> Some raw perfomance numbers for tests I did:
> 
> Trim:
> 1813 -> 1290
> 631  -> 550
> 1332 -> 421
> 7441 -> 2754
> 6319 -> 9303
> 
> Split:
> 10174 -> 5718
> 982   -> 871
> 7921  -> 7170
> 26809 -> 7980
> 18506 -> 11290
> 
> Pad:
> 8021 -> 8100
> 1612 -> 1663
> 841  -> 861
> 1642 -> 1682
> 821  -> 71
> 
> LastIndexOfAny:
> 2253 -> 2243
> 1773 -> 1362
> 6990 -> 6470
> 1883 -> 2240
> 831  -> 2240
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: String.patch
Type: application/octet-stream
Size: 41877 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20080131/8e2bb8a3/attachment.obj 


More information about the Mono-devel-list mailing list