I tried to convert a sequential list to a parallel one in Intellij, but I get the error
Cannot resolve symbol par
on the .par
method call:
import scala.collection.parallel.immutable._
...
val parList = List(1,2,3).par
According to https://docs.scala-lang.org/overviews/parallel-collections/overview.html, one must simply
invoke the par method on the sequential collection, list. After that, one can use a parallel collection in the same way one would normally use a sequential collection.
What makes me wonder is that I did not find any par
method in the current immutable list api of scala: https://www.scala-lang.org/api/current/scala/collection/immutable/List.html
But there's even a dedicated scala doc-page for sequential to parallel conversion which uses the par
method: https://docs.scala-lang.org/overviews/parallel-collections/conversions.html
About my setup
I'm on Arch Linux with OpenJDK 10 set at language level 9 (in Intellij) and scala-sdk-2.13.0.
Imported library dependencies:
scala-library
(2.13.0)scala-parallel-collections
(2.13.0)As @Thilo mentioned in a comment, I was missing the following import which is necessary since Scala 2.13:
import scala.collection.parallel.CollectionConverters._
Source: https://github.com/scala/scala-parallel-collections/issues/22
Apart from the import:
import scala.collection.parallel.CollectionConverters._
you also need to add dependency in pom.xml of your maven project:
<dependency>
<groupId>org.scala-lang.modules</groupId>
<artifactId>scala-parallel-collections_2.13</artifactId>
<version>0.2.0</version>
</dependency>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With