In this chapter, we learned about benchmarking Go programs. We learned about how Big O notation considerations can help you design impactful data structures and algorithms around your problem set. We also learned about search and sorting algorithms, trees, and queues in order to make our data structures and algorithms most impactful to the problem at hand.
In Chapter 3, Understanding Concurrency, we'll learn about some of the most important Go constructs and how they can impact performance. Closures, channels, and goroutines can help us make some powerful design decisions with respect to both parallelism and concurrency.