= Surface Distance Cache Tests = == Overview and Benchmark Procedure == I have externalized the caching functionality in our various fault surface classes. There are a couple different implementation of the new SurfaceDistanceCache interface: * Traditional, single location cache: org.opensha.sha.faultSurface.cache.SingleLocDistanceCache * Google guava loading cache with variable size: org.opensha.sha.faultSurface.cache.MultiDistanceCache * Hybrid of both caches: org.opensha.sha.faultSurface.cache.HybridDistanceCache I then ran lots of tests at HPCC with many variations on these caching schemes. All tests were run on nodes with the exact same configuration: 2 quad core 2.5 GHz processors, 12 GB RAM. I ran the following benchmarks for a UCERF3 ERF with the branch average solution: Distance test: how long does it take to calculate each distance metric from 80 sites to every rupture in the ERF? Hazard test: how long does it take to calculate a hazard curve at 80 sites? Sites are randomly distributed (tightly) around 35, -118. Tests were run with 1, 2, 4, and 8 threads (multiple runs of each configuration and times averaged). == First Results and Sensitivity to Java Version ==