Another method for determining slow parts of code is to use benchmarks. Benchmarks can be used to test functions for average performance and can also run benchmarks in parallel. This can be useful when comparing functions or doing micro-optimizations for certain code, especially to see how a function implementation might perform when using it concurrently. For this recipe, we'll create two structs that both implement an atomic counter. The first will use the sync package, and the other will use sync/atomic. We'll then benchmark both the solutions.
Benchmarking and finding bottlenecks
Getting ready
Refer to the Getting ready section of the Speeding up compilation and testing cycles recipe in this chapter.
...