
Monday, December 11, 2006
Monday, December 11, 2006 7:59:19 PM (Mitteleuropäische Zeit, UTC+01:00)
Es ist wirklich interessant welches Laufzeitverhalten .NET beim Vergleichen von Strings zeigt.
Die statische Methode CompareOrdinal des Typs String war, in einem nicht repräsentativen Test, 13mal schneller als sein Bruder seine Schwester Compare, wenn für Compare keine explizite StringComparison angegeben ist. Mit StringComparison.Ordinal lässt sich dann auch Compare dazu überreden, einen schnellen Vergleich durchzuführen.
Leider bezahlt man die verbesserte Performance durch den Verlust der Kulturabhängigkeit. Diese wird jedoch nicht für alle Strings zwingend benötigt.
Achtung: CompareTo ist zwar etwas besser als Compare, mit einem Faktor von 11 aber nicht wesentlich performanter.