Add a singleton NodeIdentifierWithPredicates
Heap dumps from OFP-centric load shows that single-predicate
identifiers are dominating the workload. This adds a dedicated
class to handle those cases.
The upshot of a dedicated class vs. a singleton map is a reduction
of one object, i.e. with SharedSingletonMap we get:
NodeIdentifierWithPredicates (24/32b)
SharedSingletonMap (24/32b)
whereas a dedicated class does only:
NodeIdentifierWithPredicates.Singleton (32/40b)
Which reduces total storage requirements from 48/64 bytes down to
32/40 bytes, saving 16/24 bytes (33/37.5%).
Change-Id: I3172ab9435d67adc12ae1734f9ad35f1dc8f891f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>