rt
首先你会发现这段代码,在recv的时候,读的位置是通过chunkqueue_get_memory得到的内存空间~
//src/connections.c chunkqueue_get_memory(con->read_queue, &mem, &mem_len, 0, 4096); len = recv(con->fd, mem, mem_len, 0);
chunkqueue_get_memory方法在src/chunk.h&c,自己去参考源码~
可以参考:http://www.doc88.com/p-143612789081.html
能提供内存池对应的源码片断吗?
Lighttpd高效的原因:
1. 多工作进程2. 可复用IO机制(epoll)3. 高效内存池4. scatter/gather5. 零拷贝6. 文件状态缓存机制7. 高效数据结构(伸展树等)
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
首先你会发现这段代码,在recv的时候,读的位置是通过chunkqueue_get_memory得到的内存空间~
chunkqueue_get_memory方法在src/chunk.h&c,自己去参考源码~
可以参考:http://www.doc88.com/p-143612789081.html
能提供内存池对应的源码片断吗?
Lighttpd高效的原因:
1. 多工作进程
2. 可复用IO机制(epoll)
3. 高效内存池
4. scatter/gather
5. 零拷贝
6. 文件状态缓存机制
7. 高效数据结构(伸展树等)