| | 17 | == Performance and memory impact |
| | 18 | |
| | 19 | **Performance impact:** Performance tests via CLI **DO NOT** reveal any performance degradation (See detailed tests result in the comments below) |
| | 20 | |
| | 21 | **Memory impact:** Additional **48 bytes** are consumed by the newly added HashMap per OsmPrimitive. In comparison, existing StyleCache field consumes 24 bytes. |
| | 22 | |
| | 23 | size of HashMap: java.util.HashMap object internals: |
| | 24 | OFF SZ TYPE DESCRIPTION VALUE |
| | 25 | 0 8 (object header: mark) 0x0000000000000009 (non-biasable; age: 1) |
| | 26 | 8 4 (object header: class) 0x002013d8 |
| | 27 | 12 4 java.util.Set AbstractMap.keySet null |
| | 28 | 16 4 java.util.Collection AbstractMap.values null |
| | 29 | 20 4 java.util.HashMap.Node[] HashMap.table [(object), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null] |
| | 30 | 24 4 java.util.Set HashMap.entrySet null |
| | 31 | 28 4 int HashMap.size 1 |
| | 32 | 32 4 int HashMap.modCount 7 |
| | 33 | 36 4 int HashMap.threshold 12 |
| | 34 | 40 4 float HashMap.loadFactor 0.75 |
| | 35 | 44 4 (object alignment gap) |
| | 36 | Instance size: 48 bytes |
| | 37 | |