[Mono-dev] [U-SPAM] Re: String.GetHashCode()
Kamil Skalski
kamil.skalski at gmail.com
Sun Dec 2 21:42:17 EST 2007
2007/12/2, Avery Pennarun <apenwarr at gmail.com>:
> On 02/12/2007, Andreas Nahr <ClassDevelopment at a-softtech.com> wrote:
> > Don't forget that 4 bytes per Hashcode isn't enough. You also need a boolean
> > to store if the hash is already computed (as e.g. 0 is a valid hash, too).
> > And then you would need one additional check for this boolean per call.
>
> Technically it would be safe (and no worse than current behaviour) to
> recalculate the hash every time in the rare case that it's exactly
> zero.
>
> > And don't forget that strings within the corelib ARE mutable to some extent.
>
> That sounds somewhat more important.
>
> Wouldn't it be better, in the cases where precomputing the hash would
> have a large benefit, just to create a new class like
> PrecomputedHashString that stores a string along with its hash? Then
> the application itself could optimize for the cases where this matters
> by using the different class as the key to its hash tables.
If only they didn't make string sealed ;)
>
> Have fun,
>
> Avery
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
--
Kamil Skalski
http://nazgul.omega.pl
More information about the Mono-devel-list
mailing list