[Mono-dev] Reverted patch 55895

Miguel de Icaza miguel at novell.com
Sun Jan 22 15:27:48 EST 2006


Hello,

> >    My suggestion is that you add at the end of the routine a call to
> > capitalize the string properly, so if we fail to find a match for a
> > string, say "content-lenght", it then capitalizes it properly and tries
> > the switch again (there is one special case to handle, header "TE", but
> > that is all).
> 
> Actually, for the case insensitive path, I'd just use a hashtable (with
> a case-insensitive hashcode). That avoids *any* allocations (and avoids
> a linear search which one would get with using String.Compare).
> 
> I'm not sure if this routine is performance critical enough to justify
> having two hashtables, one for a faster case sensitive compare and
> another for a correct insensitive comparison.
> 
> In general, we shouldn't use ToLower/ToUpper for the purpose of case
> insensitive comparisons.

This is a fine optimization for the fall-back, but the default should
remain as it is.

Miguel.



More information about the Mono-devel-list mailing list