Lower SchemaPath#getPath() memory overhead 57/29457/4
authorRobert Varga <rovarga@cisco.com>
Mon, 9 Nov 2015 17:44:52 +0000 (18:44 +0100)
committerRobert Varga <rovarga@cisco.com>
Tue, 10 Nov 2015 00:21:54 +0000 (01:21 +0100)
commit8a524457d78e932a4de301a9cdacf46c1f2531b2
treeaf64bd251df97a0e65448270817534cc8c13dfe9
parent3903d34ece7e98167a071e1c2bb9a89ef35790c6
Lower SchemaPath#getPath() memory overhead

Acquiring forward path involves performing a reverse() on an
ImmutableList -- which results in an proxy object being created.
Each such object costs 24 bytes, leading to ~120K wasted memory on a
freshly-booted up BGP+OF instance.

Eliminate this overhead by instantiating a temporary ArrayList and
copying its reverse view. This way only a single object is retained.

Change-Id: If3b193e84f0f7ffc17997360ae5b02669c119321
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java