0.5版本(2008-11-14)
1) 加入對紅黑樹的支持, 可以在編譯的時候決定使用的是hash-list還是hash-rbtree結(jié)構(gòu)體進行數(shù)據(jù)的存儲,具體請見makefile
2) 加入了一個數(shù)據(jù)結(jié)構(gòu)對insert,find,erase,update,replace等操作進行統(tǒng)計, 參見ccache.h中的ccache_stat_t的結(jié)構(gòu)體,另外在
測試程序中也加入了演示打印這些數(shù)據(jù)的函數(shù),參見test中的測試代碼.
3) 對hash-list算法進行了改進, 在訪問到某一個節(jié)點的時候, 會讓這個節(jié)點所在的鏈表位置向前走一步, 這樣訪問越頻繁的節(jié)點就越靠近
鏈表頭部,參見ccache_lis.c中的ccache_list_advance函數(shù), 每次訪問了某個節(jié)點就會去調(diào)用該函數(shù).
4) 同樣的,LRU鏈表算法也進行了改善,之前是訪問的節(jié)點馬上就更新到該LRU鏈表的頭部, 現(xiàn)在也更改為每次向前走一步,
參見ccache_lrulist.c中的ccache_lrulist_advance函數(shù).
5) 代碼風格的調(diào)整, 所有的文件名,函數(shù)名, 宏名, 自定義類型名稱都加上了"ccache_"前綴.
點擊
這里下載.
發(fā)布了這個版本之后,貌似我想不到其他比較大的feature, 最近的一段時間內(nèi)除非有bug的改正, 否則不會發(fā)布新的版本了,我將抽時間整理出一份文檔講解ccache的實現(xiàn).
相關(guān)鏈接:
紅黑樹的實現(xiàn)代碼.