Changes between Version 1 and Version 2 of Ticket #22115


Ignore:
Timestamp:
2022-06-07T01:43:08+02:00 (3 years ago)
Author:
taylor.smock
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #22115 – Description

    v1 v2  
    99For those reading the code, `Node` extends `INode` which extends `ILatLon`.
    1010
    11 This should decrease overall memory allocations significantly. One major win is in `SearchCompiler#match`, where a `Bounds#contains(LatLon)` is replaced by `Bounds#contains(ILatLon)`, where the `ILatLon` is the `Node` (in a validation test of Mesa County, Colorado, the `getCoor` call accounted for 284 MiB of 740 MiB memory allocations for `SearchCompiler#Match`).
     11This should decrease overall memory allocations significantly. One major win is in `SearchCompiler#match`, where a `Bounds#contains(LatLon)` is replaced by `Bounds#contains(ILatLon)`, where the `ILatLon` is the `Node` (in a validation test of Mesa County, Colorado, the `getCoor` call accounted for 284 MiB of 2.216 GiB memory allocations for `SearchCompiler#Match`).
    1212
    1313
    1414Note: I'm not sold on the `@deprecation` annotations. I'd like to be able to remove the methods from `LatLon` someday, but those methods are used a lot, so there will be a lot of breakage when we do remove them.
     15
     16Profiling results (again, Mesa County Colorado `nwr in "Mesa County, Colorado"`):
     17* `Node#getCoor` (using method back traces) went from 501 MiB to 97 MiB.
     18* `SearchCompiler.InArea#Match` went from 2.216 GiB to 2 GiB, which is about right.