CodSpeed is a continuous performance testing platform to track, compare and optimize the performance of your codebase during development, before having performance issues in production. Running benchmarks using a traditional statistical approaches is usually unreliable on CI environments. To measure the performance of your code in an accurate and reproducible way, CodSpeed uses various instruments when running your code. Those instruments isolate noisy neighbors and all the side effect they can have on when measuring the performance of our workloads. CodSpeed then brings concise performance reports during your development process. To help you improve your codebase performance and find bottlenecks, CodSpeed gives you extended insights, including detailed execution profiles for all your performance tests. For the most convenience, all these perks are directly available within your repository provider (Pull Requests comments and Merge checks).Documentation Index
Fetch the complete documentation index at: https://codspeed.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
What can be measured?
CodSpeed can measure the performance of different types of code, thanks to its instruments:- The core of CodSpeed is the CPU instrument. Use it measure the performance of algorithms, data processing steps, mathematical operations, and basically any kind CPU-bound tasks. Extensive data is collected during the execution of the code, which is used to create consistent performance measurement and detailed flame-graphs of the code.
- The Walltime instrument measures the real time taken by your code to execute. It is useful to measure end-to-end performance of your code, including system calls, I/O operations, network requests, and database queries. It leverages CodSpeed’s Macro Runners to provide a stable and isolated environment for running your benchmarks with low noise and high precision.
- The Databases instrument measure the performance of database queries. They allow you to track and compare the performance of your database queries during development.
How does it work?
