diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2017-02-03 12:01:56 -0700 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2017-02-03 15:43:31 -0700 |
commit | 44f2f0db98487fcc5c515a18b7aeee53e0bb9d52 (patch) | |
tree | 94a6f6d2f7695607f8a05387a1ee2b82c993534e /bincompat-backward.whitelist.conf | |
parent | a58de0e81e60201f48a449bb380ec1c5feb33bd2 (diff) | |
download | scala-44f2f0db98487fcc5c515a18b7aeee53e0bb9d52.tar.gz scala-44f2f0db98487fcc5c515a18b7aeee53e0bb9d52.tar.bz2 scala-44f2f0db98487fcc5c515a18b7aeee53e0bb9d52.zip |
Optimizations in immutable.Map.{get, contains}
- Avoid allocation of Some in get
- defer integer left shift until needed
- avoid redundantly masking an integer
before:
Benchmark (size) Mode Cnt Score Error Units
HashMapBenchmark.contains 10 avgt 20 284.624 ± 18.985 ns/op
HashMapBenchmark.contains 100 avgt 20 3190.580 ± 33.622 ns/op
HashMapBenchmark.contains 1000 avgt 20 52967.171 ± 1524.834 ns/op
HashMapBenchmark.get 10 avgt 20 248.168 ± 2.612 ns/op
HashMapBenchmark.get 100 avgt 20 2795.469 ± 54.458 ns/op
HashMapBenchmark.get 1000 avgt 20 52238.773 ± 1268.764 ns/op
after:
Benchmark (size) Mode Cnt Score Error Units
HashMapBenchmark.contains 10 avgt 20 195.107 ± 2.442 ns/op
HashMapBenchmark.contains 100 avgt 20 2454.151 ± 24.392 ns/op
HashMapBenchmark.contains 1000 avgt 20 40722.993 ± 520.473 ns/op
HashMapBenchmark.get 10 avgt 20 245.282 ± 3.547 ns/op
HashMapBenchmark.get 100 avgt 20 2729.669 ± 32.767 ns/op
HashMapBenchmark.get 1000 avgt 20 49568.410 ± 794.565 ns/op
Diffstat (limited to 'bincompat-backward.whitelist.conf')
-rw-r--r-- | bincompat-backward.whitelist.conf | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/bincompat-backward.whitelist.conf b/bincompat-backward.whitelist.conf index d4db9962e7..b88fa64584 100644 --- a/bincompat-backward.whitelist.conf +++ b/bincompat-backward.whitelist.conf @@ -32,6 +32,22 @@ filter { { matchName="scala.sys.process.ProcessImpl#CompoundProcess.getExitValue" problemName=DirectMissingMethodProblem + }, + { + matchName="scala.collection.immutable.HashMap.contains0" + problemName=DirectMissingMethodProblem + }, + { + matchName="scala.collection.immutable.HashMap#HashTrieMap.contains0" + problemName=DirectMissingMethodProblem + }, + { + matchName="scala.collection.immutable.HashMap#HashMap1.contains0" + problemName=DirectMissingMethodProblem + }, + { + matchName="scala.collection.immutable.HashMap#HashMapCollision1.contains0" + problemName=DirectMissingMethodProblem } ] } |