国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.Net應用程序性能提高小技巧

2024-07-10 12:55:00
字體:
來源:轉載
供稿:網友


使用.net做開發,性能毫無疑問非常重要,如何在最短的時間內,得到最大的性能,是我們每個人都非常關心的問題。這里,以msdn的提示做指導,我來做一些整理工作。
  
  所有的應用程序都應該遵守的
  
  這里的列舉的是所有的應用程序都可以用來提高性能的一些小建議:
  
  盡早地拋出例外:throw exception
  
  exception是非常地消耗的,你可以數一下你的程序里面有多少個exception,你看了之后就會大吃驚,注意,不要忘了,一些系統自己的方法也會拋出exception的,比如,io類。下面的程序你可以試一下,它用的是一個for循環,你運行后就會發現exception原來如此可怕。
  
  
  public static void main(string[] args){
  int j = 0;
  for(int i = 0; i < 10000; i++){
  try{
  j = i;
  throw new system.exception();
  } catch {}
  }
  system.console.write(j);
  return;
  }
  要多一些多功能函數
  
  盡量避免一個函數只完成非常小的一個或幾個功能,因為這樣會使系統調用函數過于頻繁,而導致性能的下降。我們應當在盡可能分割功能情況下,合并一些功能,使一個函數能完成多個功能,使函數調用次數減少,以提高效率。
  
  用值類型進行工作
  
  當數據結構比較簡單時,請使用值類型的struct來取代class,這樣會獲得性能的提升。下面的例子說明了這一點:
  
  public struct foo{
  public foo(double arg){ this.y = arg; }
  public double y;
  }
  public class bar{
  public bar(double arg){ this.y = arg; }
  public double y;
  }
  class class1{
  static void main(string[] args){
  system.console.writeline("starting struct loop...");
  for(int i = 0; i < 50000000; i++)
  {foo test = new foo(3.14);}
  system.console.writeline("struct loop complete.
  starting object loop...");
  for(int i = 0; i < 50000000; i++)
  {bar test2 = new bar(3.14); }
  system.console.writeline("all done");
  }
  }
  }
  
  運行程序,你將發現struct的循環比class的要快得多。但使用struct時要小心,因為它并不是在什么時候都是這么快。
  
  在群體操作時使用addrange取代add
  
  這也是一個重要的技術,用addrange可以讓我們要加入的東西一次性加入,而不要每次都加一次,這樣顯然可以加快速度。幾乎所有的windows control都支持add和addrange兩種方法。
  下面列出了支持add和addrange的類:
  
  stringcollection, tracecollection, etc.
  httpwebrequest
  usercontrol
  columnheader
  
  
  去除工作中的不要的東西
  
  去除你的項目中的沒有必要的assemblies,因為它會降低你的程序的性能。想一想,如果你把所有的assemblies都引用進來,為的只是一個方法,是不是得小于失,所以,把沒有用到的assembly都拿走。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嵩明县| 清新县| 华蓥市| 桃园市| 乐安县| 武鸣县| 延吉市| 阳原县| 富川| 合山市| 广昌县| 黄冈市| 屯留县| 靖安县| 德昌县| 萨嘎县| 疏附县| 临潭县| 山丹县| 保定市| 鸡西市| 肃南| 宜君县| 白玉县| 东方市| 翁牛特旗| 黄骅市| 永州市| 梨树县| 绥宁县| 桓仁| 鄄城县| 卓尼县| 天水市| 龙岩市| 施秉县| 云霄县| 桂东县| 金秀| 武穴市| 黄大仙区|