Changes between Version 1 and Version 2 of Ticket #22115
- Timestamp:
- 2022-06-07T01:43:08+02:00 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #22115 – Description
v1 v2 9 9 For those reading the code, `Node` extends `INode` which extends `ILatLon`. 10 10 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`).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 2.216 GiB memory allocations for `SearchCompiler#Match`). 12 12 13 13 14 14 Note: 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 16 Profiling 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.