Please log in to watch this conference skillscast.
This talk addresses Macro-based Scala Parallel Collections with a particular focus on what the new design means for the users.
With the arrival of Scala Macros a new breed of optimization opportunities present themselves for the Scala Parallel Collections.
Many abstraction penalties have been overcome through macro-based callsite specialization. This eliminates boxing and iterators, uses heavy inlining and applies fusion optimizations - consequently achieving optimal baseline performance.
Parallel Collections also come with a redesigned scheduler that achieves better load balancing for tasks with heavily skewed workloads. In addition, the new scheduler is highly configurable and can be tuned for specific applications. And finally, the new Scala Parallel Collections features a new API based on implicit value classes that reduces the number of intermediate classes and allows looser coupling with standard library collections.
YOU MAY ALSO LIKE:
- What should every programmer know about hardware - Intermediate (SkillsCast recorded in December 2016)
- Lightbend Akka for Scala - Professional (in London on 11th - 12th November 2019)
- Modern development with Java (in London on 9th - 11th December 2019)
- Scala eXchange London 2019 (in London on 12th - 13th December 2019)
- Scalax2gether Community Day 2019 (in London on 14th December 2019)
- Code Kata: Yilin Wei - Optics with Monocle (in London on 22nd October 2019)
- Don’t keep it to yourself - openness and honesty in the workplace (in London on 30th October 2019)
- Abstract Data Types In The Region Of Abysmal Pain, And How To Navigate Them (SkillsCast recorded in September 2019)
- The Last Frontier and Beyond (SkillsCast recorded in August 2019)
Macro-based Scala Parallel Collections
Aleksandar Prokopec is a research assistant in the School of Computer and Communication Sciences at the EPFL in Switzerland, working in the LAMP laboratory under the supervision of dr. Martin Odersky. He received his Master degree at the Faculty of E
Dmitry has been working on Scala since 2013 when he joined Martin Odersky's research lab at EPFL, working on ScalaBlitz, macro-generated collections for Scala. Since 2015, he has been working on the Dotty Compiler. He designed Mini-Phases, ported the JVM backend, implemented support for Java 8 lambdas and default methods along with various other parts of the compiler, including the pattern matcher, lazy vals, tail recursion transformations and parts of erasure and mixin composition.He is currently working on implementing the Dotty Linker, an optimizing compiler based on Dotty.