Both EventBus and Otto are event bus, and I found EventBus has this conclusion:
Benchmark results indicate that EventBus is significantly faster in almost every scenario:
My question is why EventBus is more faster than Otto. I has read the two source code, and don't found obvious difference. Here is what I found the difference:
Otto use annotation process at runtime.
EventBus use CopyOnWriteArrayList to store Subscription while Otto use Set.
Are there any other reasons? Is it the main reason that Otto use annotation process at runtime? Could someone explain the reason EventBus is significantly faster while it compare with otto?
Thanks in advance.