#139 closed defect (fixed)
increase efficiency for new XYZ/Geo datasets
Reported by: | Kevin Milner | Owned by: | Kevin Milner |
---|---|---|---|
Priority: | major | Milestone: | OpenSHA 1.2 |
Component: | commons | Version: | |
Keywords: | Cc: |
Description (last modified by )
Here are numbers for the current implementations of the GeoDataSet? interface. Each number is for 100,000 invocations of each method. For large datasets, this is unacceptable.
- ArbDiscrGeoDataSet?
- set: 84.44 s
- get: 0.034 s
- ArrayListBasedGeoDataSet?
- set: 28.484 s
- get: 28.165 s
- ArrayBasedGeoDataSet?
- set: 60.446 s
- get: 51.105 s
Change History (4)
comment:1 Changed 14 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Done in [7413]...basically the culprit was an ArrayList?.contains() call, which has now been replaced by HashMap?.containsKey(). Put operations are now trivially fast.
I think this change is worth merging into the 1.1 release, and releasing 1.1.1. For example, ShakeMaps? could be INCREDIBLY slow without this fix (if they have >40,000 points).