# CodSpeed Docs > Documentation for CodSpeed, the continuous performance testing and optimization platform. ## Docs - [MCP Server](https://codspeed.io/docs/ai/mcp.md): Connect AI assistants to your CodSpeed performance data using the Model Context Protocol. - [Agent Skills](https://codspeed.io/docs/ai/skills.md): Instruction sets that teach AI coding assistants how to set up benchmarks and optimize performance with CodSpeed. - [Wizard (@codspeedbot)](https://codspeed.io/docs/ai/wizard.md): CodSpeed's AI agent that sets up benchmarks, explains performance changes, and proposes fixes directly in GitHub. - [Writing Benchmarks in C++](https://codspeed.io/docs/benchmarks/cpp.md): Create benchmarks for your C++ codebase using `google_benchmark` - [Writing Benchmarks in Go](https://codspeed.io/docs/benchmarks/go.md): Create benchmarks for your Go codebase using the `testing` package - [Writing Benchmarks in Java](https://codspeed.io/docs/benchmarks/java.md): Create benchmarks for your Java codebase using Java Microbenchmark Harness - [Writing benchmarks with benchmark.js](https://codspeed.io/docs/benchmarks/nodejs/benchmarkjs.md) - [Writing Benchmarks in JavaScript and TypeScript](https://codspeed.io/docs/benchmarks/nodejs/overview.md) - [Writing benchmarks with tinybench](https://codspeed.io/docs/benchmarks/nodejs/tinybench.md) - [Writing benchmarks with vitest-bench](https://codspeed.io/docs/benchmarks/nodejs/vitest.md) - [Supported Languages](https://codspeed.io/docs/benchmarks/overview.md): Pick the language you want to benchmark. - [Writing Benchmarks in Python](https://codspeed.io/docs/benchmarks/python.md): Creating performance tests for `pytest` using `pytest-codspeed` - [Writing Benchmarks with bencher (libtest)](https://codspeed.io/docs/benchmarks/rust/bencher.md): Using the bencher (libtest) compatibility layer for CodSpeed - [Writing Benchmarks with criterion.rs](https://codspeed.io/docs/benchmarks/rust/criterion.md): Using the Criterion.rs compatibility layer for CodSpeed - [Writing Benchmarks with divan](https://codspeed.io/docs/benchmarks/rust/divan.md): Using the divan compatibility layer for CodSpeed - [Writing Benchmarks in Rust](https://codspeed.io/docs/benchmarks/rust/index.md): Learn how to write benchmarks and measure the performance of your Rust code. - [CodSpeed CLI](https://codspeed.io/docs/cli.md): Run performance tests from your terminal - [Data Deletion](https://codspeed.io/docs/data-deletion.md): Learn how to delete repositories, accounts, and organizations in CodSpeed - [FAQ](https://codspeed.io/docs/faq.md) - [Benchmark Archival](https://codspeed.io/docs/features/archiving-benchmarks/index.md): Learn how to archive and restore outdated benchmarks in CodSpeed - [Customization](https://codspeed.io/docs/features/customization.md): Learn how to customize your integration with CodSpeed - [Ignoring a Benchmark](https://codspeed.io/docs/features/ignoring-benchmarks/index.md): Learn how to ignore a benchmark from a report - [Macro Runners](https://codspeed.io/docs/features/macro-runners.md): Use CodSpeed's bare-metal runners for precise walltime measurements in your CI pipeline - [Partial Runs](https://codspeed.io/docs/features/partial-runs/index.md): Learn how to leverage partial benchmark runs in CodSpeed to only run relevant benchmarks - [Setting up Continuous Performance Checks](https://codspeed.io/docs/features/performance-checks/index.md): Learn how to enable performance safeguards in your project - [Performance Profiling and Flame Graphs](https://codspeed.io/docs/features/profiling.md): Debug performance issues with detailed flame graphs and execution profiles generated by CodSpeed's instrumentation - [Roles & Permissions](https://codspeed.io/docs/features/roles-and-permissions/index.md): Learn how permissions work in CodSpeed - [Seats & Billing](https://codspeed.io/docs/features/seats-and-billing/index.md): Learn how users, seats, and billing work in CodSpeed - [Sharded Benchmarks](https://codspeed.io/docs/features/sharded-benchmarks/index.md): Learn how to improve your benchmarking process performance - [Impact Metrics](https://codspeed.io/docs/features/understanding-the-metrics/index.md): Learn how the CodSpeed metrics work - [Benchmarking a Go Gin API Performance](https://codspeed.io/docs/guides/benchmarking-a-go-gin-api/index.md): Build a Gin HTTP API, write Golang benchmarks, and run them with CodSpeed in consistent CI environments - [Choosing the Correct Python Benchmarking Strategy](https://codspeed.io/docs/guides/choosing-the-correct-python-benchmarking-strategy.md): Explore and compare different Python benchmarking approaches—from command-line tools to integrated test frameworks—to find the best fit for your workflow. - [How to Benchmark C++ with Google Benchmark?](https://codspeed.io/docs/guides/how-to-benchmark-cpp-with-google-benchmark.md): Learn how to measure the performance of your C++ code by writing and running benchmarks locally and continuously in CI to catch regressions. - [How to Benchmark Go with the testing Package?](https://codspeed.io/docs/guides/how-to-benchmark-go-with-testing.md): Learn how to measure the performance of your Go code using the standard testing package by writing and running benchmarks locally and continuously in CI to catch regressions. - [How to Benchmark Java with JMH?](https://codspeed.io/docs/guides/how-to-benchmark-java-with-jmh.md): Learn how to measure the performance of your Java code using JMH (Java Microbenchmark Harness) by writing and running benchmarks locally and continuously in CI to catch regressions. - [How to Benchmark Python with pytest?](https://codspeed.io/docs/guides/how-to-benchmark-python-with-pytest.md): Learn how to measure the performance of your Python code by writing and running benchmarks locally and continuously in CI to catch regressions. - [How to Benchmark Rust with divan?](https://codspeed.io/docs/guides/how-to-benchmark-rust-with-divan.md): Learn how to measure the performance of your Rust code by writing and running benchmarks locally and continuously in CI to catch regressions. - [Guides](https://codspeed.io/docs/guides/index.md): Step-by-step tutorials to help you benchmark your code and integrate performance testing into your workflow - [Quickstart](https://codspeed.io/docs/index.md): Get started with CodSpeed and performance testing in a few minutes - [CPU Simulation Instrument](https://codspeed.io/docs/instruments/cpu/index.md): Learn how to use CodSpeed's CPU simulation instrument for consistent, hardware-agnostic performance measurement in your benchmarks - [Reducing Variance](https://codspeed.io/docs/instruments/cpu/reducing-variance.md): Learn how to reduce variance in your benchmarks. - [Benchmark Variance](https://codspeed.io/docs/instruments/cpu/regression-causes.md): Learn why micro-benchmarks can improve/regress despite no code changes, and how to identify the causes. - [MongoDB Instrumentation Overview](https://codspeed.io/docs/instruments/databases/mongodb/index.md): MongoDB instrument to measure the performance of queries directly in the CI - [NodeJS setup for MongoDB instrumentation](https://codspeed.io/docs/instruments/databases/mongodb/nodejs/index.md): MongoDB instrument for NodeJS - [MongoDB Benchmarking Guide for Node.js with tinybench](https://codspeed.io/docs/instruments/databases/mongodb/nodejs/tinybench.md) - [MongoDB Benchmarking Guide for Node.js with vitest](https://codspeed.io/docs/instruments/databases/mongodb/nodejs/vitest.md) - [Database Instrument Overview](https://codspeed.io/docs/instruments/databases/overview.md): The database instruments measure the performance of database queries directly in the CI - [Performance Instruments](https://codspeed.io/docs/instruments/index.md): Pick the instrument you want to use. - [Memory](https://codspeed.io/docs/instruments/memory/index.md): Track memory usage, heap allocations, and memory leaks in your benchmarks. - [Walltime Instrument Overview](https://codspeed.io/docs/instruments/walltime/index.md): Learn how to use CodSpeed's walltime instrument for measuring real-world execution time in your benchmarks. - [Running Benchmarks in Buildkite](https://codspeed.io/docs/integrations/ci/buildkite.md): Learn how to setup CodSpeed and run benchmarks within your Buildkite CI workflow - [Configuring GitHub Actions for CodSpeed](https://codspeed.io/docs/integrations/ci/github-actions/configuration.md): Learn how to configure GitHub Actions to run benchmarks with CodSpeed. - [Running Benchmarks in GitHub Actions](https://codspeed.io/docs/integrations/ci/github-actions/index.md): Learn how to setup CodSpeed and run benchmarks within your GitHub Actions CI workflow - [Configuring GitLab CI for CodSpeed](https://codspeed.io/docs/integrations/ci/gitlab-ci/configuration.md): Learn how to configure GitLab CI to run benchmarks with CodSpeed. - [Running Benchmarks in GitLab CI](https://codspeed.io/docs/integrations/ci/gitlab-ci/index.md): Learn how to setup CodSpeed and run benchmarks within your GitLab CI workflow - [Running Benchmarks in CI](https://codspeed.io/docs/integrations/ci/index.md): Running performance tests in your CI/CD pipeline ensures that performance regressions are caught early in the development process, before they reach production. CodSpeed integrates seamlessly with your existing CI workflows to provide automated performance monitoring. - [Integrating with GitHub](https://codspeed.io/docs/integrations/providers/github.md): Learn how to integrate CodSpeed with a GitHub repository. - [Integrating with GitLab](https://codspeed.io/docs/integrations/providers/gitlab.md): Learn how to integrate CodSpeed with GitLab. - [Integrating with a Repository Provider](https://codspeed.io/docs/integrations/providers/index.md): CodSpeed integrates directly with your repository provider to deliver performance insights where your team already collaborates. - [bencher (libtest) compatibility layer documentation](https://codspeed.io/docs/reference/codspeed-rust/bencher.md): A compatibility layer for `bencher`, a port of the unstable libtest benchmarking framework - [cargo-codspeed documentation](https://codspeed.io/docs/reference/codspeed-rust/cargo-codspeed.md): The `cargo` subcommand to benchmark your Rust code with CodSpeed - [criterion.rs compatibility layer documentation](https://codspeed.io/docs/reference/codspeed-rust/criterion.md): A compatibility layer for `criterion.rs` - [divan compatibility layer documentation](https://codspeed.io/docs/reference/codspeed-rust/divan.md): A compatibility layer for `divan` - [codspeed-rust documentation](https://codspeed.io/docs/reference/codspeed-rust/index.md): Crates to benchmark your Rust code - [API References](https://codspeed.io/docs/reference/index.md) - [pytest-codspeed documentation](https://codspeed.io/docs/reference/pytest-codspeed.md): A `pytest` plugin for benchmarking performance of Python code - [Security](https://codspeed.io/docs/security.md) - [What is CodSpeed?](https://codspeed.io/docs/what-is-codspeed.md): Integrated CI tools for software engineering teams to anticipate the impacts of the next delivery on performances. ## Optional - [Discord](https://discord.gg/MxpaCfKSqF) - [Blog](https://codspeed.io/blog) - [We're hiring!](https://careers.codspeed.io)