最近發現反射甚是好用,但是效能差距有多大呢。
實驗環境是win8.1 64位系統,jre8,i7-4770cpu,8g記憶體。
方法很簡單,對於乙個類,分別使用直接呼叫和函式反射的方式呼叫同乙個函式,看執行時間,時間使用system.currenttimemillis()。函式僅申請乙個int型區域性變數並賦值。
實驗結果如下表:
次數10000
10000
1000000
10000000
100000000
1000000000
10000000000
直接呼叫13
5833310
3044
反射呼叫46
1128
1951812
18416
0.初期函式呼叫的開銷與時間中斷的開銷接近,所以時間並沒有線性增長。
1.函式呼叫次數增多,記錄的開銷所佔比例減少,時間接近線性增長。
2.invoke與直接呼叫的時間差距大概是六倍,但是在小規模呼叫的情況下效能差距並不明顯。
不同方式呼叫函式的效能對比
using system using system.diagnostics using system.reflection using system.reflection.emit using system.runtime.compilerservices public class calltest...
ADO與EF效能對比
在之前做專案中,用的是ef框架,開發過程沒感覺到有什麼效能問題。等把專案部門到客戶機中實際執行後,資料達到了3萬以上更新資料庫就變慢了,緊接著查詢也相應變慢,達到10萬就更明顯了,甚至還影響到插入。ef開發過程的確省了不少事,但帶來的後果也是很嚴重的。總結 開展新專案之前必須先估算出專案的規模,測算...
fastJson與jackson效能對比
最近專案用到fastjson和jackson,為了決定到底棄用哪個,隨手寫了個測試看看到底誰的效能更勝一籌。看到過很多對比的帖子,大多數結果是fastjson效能高於jackson,可偏偏像springmvc這樣成熟的框架預設也採用的jsckson,這就引起了我的懷疑,決定自己動手試試 1 開始測試...