2
HashedWheelTimers基於this 1987 paper關於傳統定時器如何消耗O(N)處理來維護(對於N個定時器),但散列輪可以消耗O(1)。我不確定Quartz的工作計劃是否只是管理下面的計時器,或者實際上是在封面下使用O(1)解決方案。哪個更有效率:Netty的HashedWheelTimer還是Quartz的調度器?
HashedWheelTimers基於this 1987 paper關於傳統定時器如何消耗O(N)處理來維護(對於N個定時器),但散列輪可以消耗O(1)。我不確定Quartz的工作計劃是否只是管理下面的計時器,或者實際上是在封面下使用O(1)解決方案。哪個更有效率:Netty的HashedWheelTimer還是Quartz的調度器?
石英調度程序專爲調度持續作業而設計。所以,當Quartz出現後,它可以看到哪些工作應該運行,但沒有,並且可以運行。
HashedWheelTimer旨在擴展到數千個定時器。他們正在解決兩個非常不同的問題。
我同意他們有不同的功能集,但這並不意味着我應該總是使用Netty的HashedWheelTimer,如果我不需要持久性。許多O(1)解決方案具有不變的開銷,以克服小N的O(N)解(例如,對於小N,插入排序優於Quicksort和Heapsort)。如果持久性不是問題,並且對於小N使用HashedWheelTimers會有開銷,那麼在這種情況下知道權衡的位置會很好。 – Marcus 2013-03-14 01:42:24