This document summarizes improvements to sorting and joining in Spark 2.0. Benchmarking shows Spark 2.0 performed joins and sorts faster than Spark 1.6 using fewer cores and less memory. The shuffle manager, which distributes data between partitions, was optimized in 2.0. Compression and limiting remote requests during shuffles reduced small files and improved performance. Garbage collection settings were also tuned.