如果你有用ReSharper,有時候你在看code會發現到ReSharper跟你喊這個
真的在速度上差不了多少嗎 ? 來試試吧,我寫了個小程式。
然後把 sTarget = str; 改成 sTarget = str.ToString(); 一樣跑五次,平均時間是0.42432272 sec
有差嗎 ? 有的,加了多餘的.ToString(),同樣的動作時間多了58.14%,所以小細節多少還是有差的。
Redundant Object.ToString() call其實就是個很簡單的多了一次多餘的ToString(),有些人會覺得,應該差不了多少吧,所以也不會care....其實不少人看見warning都不管的 -_-
真的在速度上差不了多少嗎 ? 來試試吧,我寫了個小程式。
Process proc = Process.GetCurrentProcess(); string str = "1"; string sTarget; TimeSpan sTime=proc.TotalProcessorTime; for (int i = 0; i < 100000000; i++) //100,000,000 { sTarget = str; //change here } Console.WriteLine(proc.TotalProcessorTime-sTime); Console.ReadLine();這樣跑了五次做,平均時間是0.26832172 sec
然後把 sTarget = str; 改成 sTarget = str.ToString(); 一樣跑五次,平均時間是0.42432272 sec
有差嗎 ? 有的,加了多餘的.ToString(),同樣的動作時間多了58.14%,所以小細節多少還是有差的。
No comments:
Post a Comment