c# 效能優化細節
1、使用string.empty給乙個空字串變數賦初始值
2、使用str.length == 0做空串比較
3、避免不必要的字串toupper、tolower類操作
4、巧用stringbuilder進行字串拼接操作
5、建立stringbuilder應指定初始大小
6、避免濫用stringbuilder
7、通過直接設定.length=0來初始化stringbuilder
8、不要使用.length=0來釋放stringbuilder占用的記憶體
static void test()
string t = sb.tostring();
……//其他不使用變數sb的**段
sb.length = 0; //去掉該句手工清空sb**,會更早釋放記憶體
}
9、string的indexof和contains效能測試
通過測試證明 contains 速度比indexof快很多。
10、c#中「equals」與「==」的速度比較
下面列出5次測試結果的對比:
true測試最快方式
true測試最快方式與第二名的差距
false測試最快方式
false測試最快方式與第二名的差距
測試1"value" == string
0.046 s
"value".equals(string)
0.016 s
測試2"value" == string
0.219 s
"value".equals(string)
0.036 s
測試3string == "value"
0.015 s
"value".equals(string)
0.001 s
測試4string == "value"
0.068 s
string.equals("value")
0.021 s
測試5string == "value"
0.066 s
"value".equals(string)
0.001 s
true測試:"value" == string領先總時間為0.265秒,string == "value"領先總時間為0.149秒;
false測試:"value".equals(string)領先總時間為0.054秒,string.equals("value")領先總時間為0.021秒。
現在我們暫時可以得到的結論是:true判斷時,用"value" == string是最快的;false判斷時,用"value".equals(string)是最快的。
也就是說:乙個判斷true發生的情況多些時,用"value" == string;false發生的情況多些時,用"value".equals(string)。
字串操作效能
在開發中遇到過以下情況 在網頁的後台 中,需要根據獲取的資料集來生成客戶端html 程式中用了大量類似 str 的 當資料集中的資料量比較小時,網頁開啟的速度沒有太大影響。但是,當資料集中的記錄達到500 甚至1000 的時候,開啟網頁需要幾十秒。string 物件是不可改變的。每次使用 syste...
unity效能優化 字串操作 一
一 避免額外的裝箱操作 二 重複修改或合併大量字串時,最好使用stringbulider類1.由於字串是在堆上連續分配的引用型別,所以在修改字串的時候,實際上是在堆上分配了新的空間,並修改儲存在變數中的位址,而原本的字串會在記憶體之中占用,等待下一次的清理,在大量操作的時候,會造成極大的浪費.2.並...
oracle proc 插入操作效能優化實踐
student 表中 10萬條資料。從 student 表中取出所有資料,插入到 student his 表中 1.批量插入 效果明顯 2.批量查詢 效果不明顯 3.批量提交 效果不明顯 4.預編譯 sql 語句 效果不明顯 10萬條資料,普通方法 27 秒,優化後 8 秒 create table...