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