Book Image

Learning Concurrent Programming in Scala

By : Aleksandar Prokopec
5 (1)
Book Image

Learning Concurrent Programming in Scala

5 (1)
By: Aleksandar Prokopec

Overview of this book

Table of Contents (18 chapters)
Learning Concurrent Programming in Scala
Credits
Foreword
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Alternative data-parallel frameworks


Although parallel collections are the preferred way of expressing data-parallel applications in Scala, they can be suboptimal when collections contain primitive values. Since parallel collections are generic in the type of values they contain, they are susceptible to autoboxing: the process in which primitive values get automatically converted to objects. This can be harmful to applications such as linear algebra, various numeric computations, or text processing.

Parallel collections were introduced to the Scala standard library in the Scala 2.9 release. Ever since, there have been many developments in the language, with Scala Macros being one of the prominent new language features. The Scala macro system allows you to define language libraries that manipulate abstract syntax trees of parts of the Scala program. Macros are a very expressive feature of Scala, and they allow some new optimization opportunities that were not available when parallel collections...