gtfs-realtime-validator icon indicating copy to clipboard operation
gtfs-realtime-validator copied to clipboard

Performance: Use get() and put() instead of computeIfAbsent() for HashMaps

Open barbeau opened this issue 4 years ago • 0 comments

Summary:

Benchmarks when working on gtfs-validator show that computeIfAbsent() is about 20% more expensive than calling get() and put().: https://github.com/MobilityData/gtfs-validator/pull/546/files#diff-ab042c46ddc495ec40e8c9a80fdd5ea27dfbac6582dc76a973e523dd34c7b0f9R57

We should optimize the RT validator as necessary.

Steps to reproduce:

Run the validator

Expected behavior:

Have ideal performance when adding to HashMap

Observed behavior:

Benchmarks in context of static GTFS show we're using a slower method

barbeau avatar Dec 09 '20 16:12 barbeau