首页 > 其他 > 详细

libev学习笔记

时间:2018-01-18 20:11:09      阅读:202      评论:0      收藏:0      [点我收藏+]

libev最大的特点是采用了轮询文件描述符(select,poll,epoll,iocp,kqueue)的方式来代替线程调度和切换,省去了线程切换,效率很高。

用小顶堆而不是链表来管理定时器,有以下优势:

1、容器中的元素实现有序排列(当然链表也能做有序排列,但性能不行,参见后面几点),这样在轮询时只需要检查前几个元素,而不需要遍历所有元素。

2、小顶堆的操作,无论是插入,还是删除,时间复杂度都在O(1)~O(logN)之间。有序链表,删除的时间复杂度为O(1),但插入的时间复杂度为O(N/2)。

  所以综合来看,小顶堆的效率大幅优于链表。

libev学习笔记

原文:https://www.cnblogs.com/heluan/p/8312729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!