终于给Silly的定时器增加了取消功能
原文中文,约3600字,阅读约需9分钟。发表于: 。silly是一个基于Lua的高并发网络框架,它的定时器是采用类似Linux内核时间轮的方式实现的。 数据结构大 ... 阅读更多 The post 终于给Silly的定时器增加了取消功能 first appeared on 重归混沌的BLOG.
silly是一个基于Lua的高并发网络框架,最近为了增加etcd支持,作者决定给定时器增加取消功能。作者使用内存池解决session到node指针的映射问题,通过计算偏移量反向推理出对应的node指针的值。作者还优化了代码,利用浪费的4字节减少闭包的创建,降低代码重复度,优化性能。整个数据结构包括node、page、pool、slot_root和slot_level。