diff options
author | Rory Graves <rory.graves@fieldmark.co.uk> | 2017-01-28 21:50:50 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan@lightbend.com> | 2017-01-28 14:05:49 -0800 |
commit | 7e89663931075e8652f3008881ec55d5803557cc (patch) | |
tree | 42f9c3fee36890e6bb1ec828856ba7dd40cff47e | |
parent | eb5c51383a63c5c3420e53ef021607ff5fd20296 (diff) | |
download | scala-7e89663931075e8652f3008881ec55d5803557cc.tar.gz scala-7e89663931075e8652f3008881ec55d5803557cc.tar.bz2 scala-7e89663931075e8652f3008881ec55d5803557cc.zip |
Add benchmark for List.mapConserve
-rw-r--r-- | test/benchmarks/src/main/scala/scala/collection/immutable/ListBenchmark.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/benchmarks/src/main/scala/scala/collection/immutable/ListBenchmark.scala b/test/benchmarks/src/main/scala/scala/collection/immutable/ListBenchmark.scala index 5ed30de7f6..94844dcae2 100644 --- a/test/benchmarks/src/main/scala/scala/collection/immutable/ListBenchmark.scala +++ b/test/benchmarks/src/main/scala/scala/collection/immutable/ListBenchmark.scala @@ -54,4 +54,19 @@ class ListBenchmark { @Benchmark def filter_only_last: Any = { values.filter(v => v.value == last.value) } + + @Setup(Level.Trial) def initKeys(): Unit = { + values = List.tabulate(size)(n => if (n == size / 2) "mid" else "") + } + + @Benchmark def mapConserve_identity: Any = { + values.mapConserve(x => x) + } + + @Benchmark def mapConserve_modifyAll: Any = { + values.mapConserve(x => "replace") + } + @Benchmark def mapConserve_modifyMid: Any = { + values.mapConserve(x => if (x == "mid") "replace" else x) + } } |