What is CodSpeed?
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).
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 Databases instruments 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?
The core of the performance measurement is done directly within your CI environment through the CodSpeed Action, allowing you to stay the sole owner of your data and to keep your codebase private.
Once the performance data is generated, only the benchmark results are sent to the CodSpeed servers to be analyzed.
Then, performance reports are generated and published directly within your Pull/Merge Request comments.
How long does it take to install?
If you're already benchmarking your codebase, you can plug your existing benchmark suites into CodSpeed in less than 5 minutes since CodSpeed benchmark's API is compatible with the most popular benchmarking frameworks for each language.
But don't worry. If you don't have any benchmarks yet, you can get started by creating benchmarks. You can create your first benchmarks in a just few minutes by reusing existing unit tests.