Changes between Initial Version and Version 1 of Ticket #22032


Ignore:
Timestamp:
2022-04-21T00:13:42+02:00 (4 years ago)
Author:
taylor.smock
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #22032 – Description

    initial v1  
    1818* Run 2: 850,025,712 bytes
    1919* Run 3: 756,248,936 bytes
     20
     21Most of the performance enhancements come from:
     221. Avoiding various `ArrayList#grow` calls
     23 * A lot is from passing around a `ByteArrayOutputStream
     242. Caching bboxes in VectorNodes (I'm kind of ambivalent on this -- I don't want to keep the bboxes around, but a significant number of allocations came from `QuadBuckets#search`, of which a ''significant'' number of allocations came from `VectorNode#getBBox`, ~1,400,000,000 bytes, or ~20%)
     253. Caching nodes in a Map<ILatLon, VectorNode> map to avoid calling `QuadBuckets#search` when possible
     26
     27The patch additionally fixes a bug with `VectorRelation#setMembers` and adds a default method `putAll` for `Tagged`.