Re: fxcop
Miroslaw Dobrzanski-Neumann <[email protected]>
| Newsgroups | gmane.comp.gnu.dotgnu.developer |
|---|---|
| Message-ID | <[email protected]> |
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) > > 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 > -- Mirosław Dobrzański-Neumann MOSAIC SOFTWARE AG IT Berater für Vorstandsprojekte Tel +49-2225-882-291 Fax +49-2225-882-201 E-mail: [email protected] This message is utf-8 encoded