A deep dive into the challenges faced when developing and optimizing `immutable.TreeSeqMap` for inclusion into the Scala 2.13 library. See how JMH was used to compare the performance of different `immutable.SeqMap` implementations and the steps followed to improve both performance and memory usage. Which are the trade-offs that need to be considered when choosing between them? Which operations should be avoided and why? How do the immutable implementations compare to the mutable ones? How does the process of contributing code to Scala work?
Familiarity with Scala and the collections library.
Odd is a lifelong coder who got started by hogging his mothers Pascal books and his fathers MacPlus in the mid 80's. After having left university in the late 90's he continued by spending years in the Java Enterprise Factory. Then in 2008 he found the promised land in the form of Scala and have been living there ever since. Now after over ten years as a happy user, he has promised himself to start contributing back more to the community, `TreeSeqMap` being his first larger contribution to Scala.