[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 30 Apr 2004 14:59:16 +0200
On Sat, May 01, 2004 at 12:32:32AM +1200, Thong (Tum) Nguyen wrote:
> It really shouldn't be optimized out.
> [ if (val == "") ] doesn't throw a NullReferenceException if val is null
> whereas [ if (val.Length == 0) ] will.
> IMO, the appropriate optimisation would be to replace "" with String.Empty.
here are my run times:
if (a == "") 4.99s
if (a.Length == 0) 2.82s
if (a == string.Empty) 11.94s
thus a == string.Empty is not an option
how about this replacement:
if (a != null && a.Length == 0)
> > -----Original Message-----
> > From: Miroslaw Dobrzanski-Neumann [mailto:address@hidden
> > Sent: Saturday, 1 May 2004 12:12 a.m.
> > To: PNET-D
> > Subject: [DotGNU]fxcop
> > Hello,
> > do you know FxCop?
> > FxCop ist a kind of lint that analyzes assemblies for coding and
> > performance
> > problems.
> > One of the fixed ideas (validation rules) of fxcop reads (this is not a
> > citation):
> > Do not test for empty string comparing it to empty string literal:
> > if (val == "")
> > ...
> > use its length instead:
> > if (val.Length == 0)
> > ...
> > because comparing strings (empty literal will be converted to an string
> > instance before comparison) is much more expensive than comaring the
> > string
> > length.
> > I have tested it with pnet and indeed pnet runs *val.Length == 0* two
> > times
> > faster than *val == ""*.
> > I have not tested other runtimes because it is not always allowed :-(.
> > But if FxCop says so it must be true for them too.
> > My question is if pnet could do it better?
> > Especially this trivial kind of optimization could be done directly in
> > parser.
> > It would have no impact on anything.
> > Regards
> > --
> > Miroslaw Dobrzanski-Neumann
> > E-mail: address@hidden
> > This message is utf-8 encoded
> > _______________________________________________
> > Developers mailing list
> > address@hidden
> > http://dotgnu.org/mailman/listinfo/developers
MOSAIC SOFTWARE AG
IT Berater für Vorstandsprojekte
This message is utf-8 encoded
- [DotGNU]fxcop, Miroslaw Dobrzanski-Neumann, 2004/04/30
- RE: [DotGNU]fxcop, Thong (Tum) Nguyen, 2004/04/30
- Re: [DotGNU]fxcop,
Miroslaw Dobrzanski-Neumann <=