BUG-1120: optimize notification delivery fast path
authorRobert Varga <rovarga@cisco.com>
Mon, 2 Jun 2014 14:11:20 +0000 (16:11 +0200)
committerRobert Varga <rovarga@cisco.com>
Mon, 2 Jun 2014 14:17:12 +0000 (16:17 +0200)
commit5d40fa27102706dd0c9a3078910d56561f1023a7
tree7f252a100967117b119dabd26618d0c06ffa0f18
parentf01dc38f958fb9376eefb03b843615bff5d45043
BUG-1120: optimize notification delivery fast path

Now that the interface contract is completely separated, our fast path
is as good as it gets, except it still allocates a few objects in the
lookup path. These are expected to be generally small, but we do now
they are constant while a particular generation is in place.

This means we can stategically place a LoadingCache, which will
eliminate the need to allocate the objects for notifications which are
often used -- thus the fast path really becomes a lookup by class into a
prepared iterable of listeners. For initial implementation we will place
an upper bound of 1000 entries and see where it leads us.

Change-Id: I2cf39f0d4681aa60afb9d517fb7beef99838bbab
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/ListenerMapGeneration.java