BUG-1120: optimize notification delivery fast path 94/7594/1
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)
commitede2f6f9c3aa3d7b520c3240ef5e10f0090e7d9f
tree3abcf4f95943472114b5aaf1266626e946bfadee
parente12bd40c3743a3b840c2d69c0f5f088176aa94b5
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