目前正在為一個(gè)C/S架構(gòu)的超市業(yè)務(wù)往來(lái)系統(tǒng)進(jìn)行系統(tǒng)架構(gòu),為了提升性能和改善維護(hù)性,我準(zhǔn)備使用對(duì)象池技術(shù),在此之前參考了BeanSoft的那篇對(duì)象池代碼,用.Net重寫(xiě)了一個(gè)并測(cè)試了性能。
測(cè)試用例:
10000次生成OleDbConnection的實(shí)例,并使用Open方法打開(kāi)連接
結(jié)果:
直接使用new語(yǔ)句生成實(shí)例不釋放 需要12秒多一點(diǎn)
使用對(duì)象池生成實(shí)例不釋放 需要7秒多一點(diǎn)
性能提升約 48%左右
但是如果在每次使用之后都調(diào)用Close()方法釋放資源的話,則兩者性能基本相同。
看來(lái)主要是因?yàn)檎加玫馁Y源不釋放,導(dǎo)致系統(tǒng)變慢。換句話說(shuō),如果系統(tǒng)需要比較頻繁的調(diào)用某些對(duì)象的實(shí)例的話,那么可以使用對(duì)象池技術(shù)來(lái)改善總體性能。
---------------------------------------------------------
專注移動(dòng)開(kāi)發(fā)
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2007-11-10 22:53
TiGERTiAN 閱讀(1334)
評(píng)論(4) 編輯 收藏 所屬分類:
Java 、
DotNet