RE: fxcop
"Thong (Tum) Nguyen" <tum-x2aT3/[email protected]>
| Newsgroups | gmane.comp.gnu.dotgnu.developer |
|---|---|
| Message-ID | <[email protected]> |
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:[email protected]] > 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: [email protected] > > This message is utf-8 encoded > _______________________________________________ > Developers mailing list > [email protected] > http://dotgnu.org/mailman/listinfo/developers