zhongxiongzeng commented on pull request #3538:
URL: https://github.com/apache/rocketmq/pull/3538#issuecomment-1013652359
most effect is that improve the time to insert tasks, for example:
HashedWheelTimer and Timer both insert 1000000 task at the same time:
`
// HashedWheelTimer
for (int i = 0; i < 1000000; i++) {
hashedWheelTimer.newTimeout(timerTask, random.nextInt(1000),
TimeUnit.MILLISECONDS);
}
`
`
// Timer
for (int i = 0; i < 1000000; i++) {
timer.schedule(task, random.nextInt(1000));
}
`
HashedWheelTimer cost 129 ms, but Timer cost 325 ms(My computer
configuration is win10 + i5-8500 CPU + 16G ram)
because the implement of timer base on minHeap, The time complexity of each
insert or delete is O(log(n)), but HashedWheelTimer is O(1);
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]