[Mono-dev] Somebody please test this String patch

Andreas Nahr ClassDevelopment at A-SoftTech.com
Wed Feb 13 15:55:30 EST 2008


Thanks for testing Miguel,

attached is a new patch (potentially the functional final version).
It fixes the one remaining issue with Split (I doubt anybody would have hit
this anyways :)
Moreover it replaces the remaining internalcalls with managed code.
Sometimes in a much more optimized way.
It also adds some more unit tests for corner cases (some failing with
current mono).

The changes make lots of code in string-icall.c locale.c, TextInfo.cs and
SimpleCollator.cs (and potentially other places) useless, however the code
is currently not yet removed.

Some raw performance numbers from internal tests:
Unmanaged -> Managed Concat/Join:
3946 -> 3786
4216 -> 4055
4076 -> 4056
12989 -> 12636

Replace (String, String):
17165 -> 4617 (Important function for Regexes)

IndexOf (Ordinal):
1482 -> 1653
12690 -> 9543
2443 -> 1181
1262 -> 651

Compare (Ordinal):
16333 -> 5648
19277 -> 3104

Greetings
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 Miguel de Icaza
> Gesendet: Sonntag, 10. Februar 2008 19:07
> An: Andreas Nahr
> Cc: 'mono-devel'
> Betreff: Re: [Mono-dev] Somebody please test this String patch
> 
> Hello Andreas,
> 
> > Anybody?
> > 
> > Apart from a very small issue this could be applied to mono and no 
> > feedback at all?
> 
> I have applied this to my tree, and will be using it on my 
> desktop computer all week.
> 
> Miguel
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: String.patch
Type: application/octet-stream
Size: 73129 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20080213/ad561a68/attachment-0001.obj 


More information about the Mono-devel-list mailing list