[YANGTOOLS-498] MaterializedContainerNodes use inefficiently-sized HashMaps Created: 07/Sep/15 Updated: 10/Apr/22 Resolved: 14/Sep/15 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
A heap dump analysis of the L2FIB scaling test shows some large overhead coming from HashMaps retained from MaterializedContainerNodes. Maps containing the individual FIB entries, each with two leaves, are sized for up to 16 entries, wasting at least 48 bytes per instance. This turns out to be two things: LazyContainerNode does not provide any hint when being promoted to a MaterializedContainerNode and MapAdaptor using only HashMap(Map) constructor to perform the copy. |
| Comments |
| Comment by Robert Varga [ 07/Sep/15 ] |
| Comment by Robert Varga [ 13/Sep/15 ] |