News for hackers. Stuff that matters.
Re:Brand new Scala-lang.org by trailfox on Tuesday July 30, 2013 @03:03PM (#6129255)
Put and lookup are much slower vs ju.HashMap. For most use cases where the system is already multithreaded the parallel collections don't gain us anything.

If you have a large read-only map being read by multiple threads (doing random lookups) ju.HashMap leaves both mutable.Map and immutable.Map very far behind. Scala is great, but the Map performance lags.

I'm not the only one who has noticed. Try googling "Scala map performance vs Java"

Re:Brand new Scala-lang.org by orp on Tuesday July 30, 2013 @10:36PM (#6131574)
You should take a look at scala's OpenHashMap - a mutable hashmap in the scala standard library that is often as fast as ju.HashMap. Link to scala doc: http://www.scala-lang.org/api/current/index.html#scala.colle...
Re:Brand new Scala-lang.org by trailfox on Wednesday July 31, 2013 @03:39AM (#6132365)
I have used OpenHashMap, but the results are mixed sometimes is much faster, other times it's much slower. It really depends on the use case.
Re:Brand new Scala-lang.org by psuter on Tuesday July 30, 2013 @09:10PM (#6131237)
For some use cases (not necessarily yours), it's worth looking at Scala's concurrent.TrieMap.
Re:Brand new Scala-lang.org by bad_user on Wednesday July 31, 2013 @01:24AM (#6132067)
java.util.HashMap is not thread-safe, so using it in the context of multiple threads reading from it is less than ideal.

The great thing about Scala's immutable HashMap is that in terms of concurrency it is worry-free. You couple it with an AtomicReference and presto, you've got a non-blocking, concurrent HashMap.

I work on a really high-volume web service that's built on top of Scala. The performance of Scala's immutable collections has been the least of my worries.

Re:Brand new Scala-lang.org by trailfox on Wednesday July 31, 2013 @03:38AM (#6132362)
Scala's immutable hashmap is about 4-5x slower than ju.HashMap for reads and 6-7x slower for inserts.