This document describes ScalaMeter, a performance regression testing framework. It discusses several problems that can occur when benchmarking code performance, including warmup effects from JIT compilation, interference from other processes, garbage collection triggering, and variability from other runtime events. It provides examples demonstrating these issues and discusses solutions like running benchmarks in a separate JVM, ignoring measurements impacted by garbage collection, and performing many repetitions to obtain a stable mean.