多线程 Pipeline 的改进
摘要:
如果一个任务的执行分多个步骤,有些步骤慢,有些步骤快,如果在处理时间长的步骤上使用更多线程,那么因为队列的缓冲作用,在平均处理时间上,这些步骤就可以大致持平了,从而导致更大的吞吐量。 以前的 Pipeline 完全胜任这样的需求,但是,如果有一个这样的需求,考虑如下例子:有若干篇文章(百万以上),需要对这些文章进行分析并索引,使用Pipeline,分成以下步骤:步骤平均耗费时间(每篇文章)顺序注释一,读取文章很快,5毫秒按文章ID顺序读取二,分析文章较慢,30毫秒处理顺序无所谓三,索引文章较快,8毫秒按文章ID顺序建立索引基于效率上的考虑,顺序建索引的速度快得多,实现上也更简单为了平衡速度,在 阅读全文
posted @ 2008-10-30 16:55 能发波 阅读(334) 评论(0) 推荐(0)