dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [DotGNU]fxcop


From: Thong (Tum) Nguyen
Subject: RE: [DotGNU]fxcop
Date: Sat, 1 May 2004 00:32:32 +1200

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.

Regards,

^Tum

> -----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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]