BUG-7464: Optimize LNode operations 22/49922/11
authorRobert Varga <rovarga@cisco.com>
Mon, 2 Jan 2017 02:30:11 +0000 (03:30 +0100)
committerRobert Varga <rovarga@cisco.com>
Tue, 10 Jan 2017 19:12:11 +0000 (20:12 +0100)
Refactor ListMap into LNodeEntr{y,ies} and expose better
operations for node manipulation, since performance-critical
call sites already perform a prior lookup.

Therefore we can issue explicit insert/replace operations
insteads of generic 'add'. Insert operation becomes very fast,
as it does not need to perform any checking at all.

The replace operation does not require equivalence, as it
can use identity comparison on the entry, again improving
performance. Furthermore we can rely on the fact that
a particular entry is present exactly once, hence we can
stop iteration as soon as we find it.

Change-Id: I8c28e3521f1cbc298164b84b51dc300c3f3568a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>

No differences found