那谁的技术博客

感兴趣领域:高性能服务器编程,存储,算法,Linux内核
随笔 - 210, 文章 - 0, 评论 - 1183, 引用 - 0
数据加载中……

ccache发布0.5版本

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的实现.

相关链接:
红黑树的实现代码.


posted on 2008-11-14 16:54 那谁 阅读(4048) 评论(5)  编辑 收藏 引用 所属分类: 算法与数据结构ccache

评论

# re: ccache发布0.5版本[未登录]  回复  更多评论   

能对比的讲一下和memcache的异同么?
2008-11-14 17:40 | tony

# re: ccache发布0.5版本  回复  更多评论   

@tony
你好,请看这里:
http://www.cppblog.com/converse/archive/2008/03/24/45236.html
2008-11-14 17:42 |

# re: ccache发布0.5版本  回复  更多评论   

good 好人!
2008-11-15 20:35 | 天天

# re: ccache发布0.5版本  回复  更多评论   

顶 ,写得不错!
如果考虑将对内部数据结构选择权(list or rbtree)交给库的使用者,也就是实现运行期的绑定就更好了。
不过,动态绑定多少会有一点额外开销。。
2009-03-29 08:12 | xiaoxiao

# re: ccache发布0.5版本[未登录]  回复  更多评论   

@xiaoxiao
是的,当时的考虑是如果是运行的时候做这个判断,那么就会多一些运行时的判断,所以做成了编译时可配置的情况.

2009-03-29 20:44 | 那谁

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理