[Mono-devel-list] Mono strings 10x slower than .NET
Timothy Parez
tpsoftware at users.sourceforge.net
Sun Jun 6 13:29:21 EDT 2004
For what it's worth I did a small test with strings a while ago,
I wonder if anybody could test this with the .NET runtime for me.
http://easystock.sourceforge.net/drupal-4.3.1//?q=node/view/46
TimothyP.
-----Original Message-----
From: mono-devel-list-admin at lists.ximian.com
[mailto:mono-devel-list-admin at lists.ximian.com] On Behalf Of William
Garrison
Sent: zondag 6 juni 2004 17:33
To: mono-devel-list at lists.ximian.com
Subject: Re: [Mono-devel-list] Mono strings 10x slower than .NET
One other thing that I just realized that might be worth knowing:
String.compare(string,string,true) <-- case-sensitive
is 3x slower than
String.compare(string,string,false) <-- case-insensitive
Why would the case-insensitive compare be _faster_? Sorry, I don't mean
to beat a dead horse. I just noticed this and thought it was
particularly odd.
Paolo Molaro wrote:
> On 06/05/04 William Garrison wrote:
>
>>I just compiled my first application in Mono. It's a code highlighter
>>&
>>diff tool. It runs great under Mono, except that it runs 10 times
>>slower than under .NET! .NET runs my standard test case in 2-3
seconds,
>>while Mono takes 19-23 seconds. The times are the same on both
Windows
>>and Linux (RH9) and with the EXE file compiled under both .NET and
Mono.
>>
>>I used the --profile option, and the problem appears to be
>>System.String::Compare. My code is unoptimized, and does LOTS of
string
>>compares. When profiling, the code took 32 seconds to run, with 24
>>seconds being the string compares.
>
> [...]
>
>>After all that, I want to know:
>>1) What is the current status of string performance under Mono?
>
>
> When using culture-sensitive compares it's quite slow, especially if
> mono was compiled with ICU support (collation and other issues add a
> lot of overhead). Do you really need the culture-sensitive Compare?
> CompareOrdinal should be slightly faster, especially with mono build
> without ICU support. Or, you may want to use String.Equals() which is
> tons faster and probably what you need to do in a diff-like tool
> anyway.
>
>
>>2) What can I give someone to help demonstrate or track down the
>>problem?
>
>
> We know about the compare slowness (I think we discussed it at the
> Boston meeting, too), but nobody had the time yet to through away the
> current ICU/Compare code and rewrite it. See if using Equals() solves
> the issue for you, in the meantime.
>
> lupus
>
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 2/06/2004
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 2/06/2004
More information about the Mono-devel-list
mailing list