Skip to content

Commit c9a479b

Browse files
committed
chore: revamp readme
1 parent 498746a commit c9a479b

File tree

1 file changed

+56
-40
lines changed

1 file changed

+56
-40
lines changed

README.md

Lines changed: 56 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,43 @@
1-
<div align="center">
2-
<h1>CodSpeed CLI</h1>
3-
4-
CLI to gather performance data and upload performance reports to [CodSpeed](https://codspeed.io)
5-
6-
[![CI](https://github.com/CodSpeedHQ/codspeed/actions/workflows/ci.yml/badge.svg)](https://github.com/CodSpeedHQ/codspeed/actions/workflows/ci.yml)
7-
[![Discord](https://img.shields.io/badge/chat%20on-discord-7289da.svg)](https://discord.com/invite/MxpaCfKSqF)
8-
[![CodSpeed Badge](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/)
9-
10-
</div>
11-
12-
The `codspeed` CLI is designed to be used both in **local** in **CI environments**.
13-
14-
The following CI providers are supported:
15-
16-
- [GitHub Actions](https://docs.codspeed.io/integrations/ci/github-actions): Usage with [`@CodSpeedHQ/action`](https://github.com/CodSpeedHQ/action) is recommended.
17-
- [GitLab CI](https://docs.codspeed.io/integrations/ci/gitlab-ci)
18-
- [Buildkite](https://docs.codspeed.io/integrations/ci/buildkite)
19-
20-
#### Other providers
21-
22-
If you want to use the CLI with another provider, you can open an issue or chat with us on [Discord](https://discord.com/invite/MxpaCfKSqF) 🚀
23-
24-
You can check out the implementation of the [supported providers](https://github.com/CodSpeedHQ/codspeed/tree/main/src/run/run_environment) for reference.
1+
<p align="center">
2+
<picture>
3+
<source media="(prefers-color-scheme: dark)" srcset="https://codspeed.io/codspeed-logo-dark.svg">
4+
<source media="(prefers-color-scheme: light)" srcset="https://codspeed.io/codspeed-logo-light.svg">
5+
<img alt="CodSpeed logo" src="https://codspeed.io/codspeed-logo-light.svg" width="400px">
6+
</picture>
7+
</p>
8+
9+
<h3 align="center">The toolkit to optimize code and avoid performance regressions.</h3>
10+
<p align="center"><a href="https://codspeed.io/login?flow=get-started&utm_source=github-readme">Get Started</a> · <a href="https://codspeed.io/docs?utm_source=github-readme">Documentation</a></p>
11+
12+
<br/>
13+
14+
<p align="center">
15+
<a href="https://github.com/CodSpeedHQ/codspeed/releases/latest"><img src="https://img.shields.io/github/v/release/CodSpeedHQ/codspeed" alt="Latest Release"></a>
16+
<a href="https://github.com/CodSpeedHQ/codspeed/releases"><img src="https://img.shields.io/github/downloads/CodSpeedHQ/codspeed/total?logo=github" alt="Downloads"></a>
17+
<a href="https://github.com/CodSpeedHQ/codspeed/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/CodSpeedHQ/codspeed/ci.yml?branch=main&logo=github&label=CI" alt="CI Status"></a>
18+
<a href="https://github.com/CodSpeedHQ/codspeed/blob/main/LICENSE-APACHE"><img src="https://img.shields.io/github/license/CodSpeedHQ/codspeed" alt="License"></a>
19+
<a href="https://codspeed.io/discord"><img src="https://img.shields.io/badge/chat%20on-discord-7289da.svg" alt="Discord Chat"></a>
20+
<a href="https://codspeed.io/?utm_source=badge"><img src="https://img.shields.io/endpoint?url=https://codspeed.io/badge.json" alt="CodSpeed Badge"></a>
21+
</p>
22+
23+
[![Video Demo](https://codspeed.io/readme-video.gif)](https://codspeed.io/?utm_source=github-readme)
24+
25+
# Key features
26+
27+
- 🎯 **<1% variance** in measurements using CPU simulation - no more flaky benchmarks.
28+
- 🔥 **Differential flamegraphs** to pinpoint exactly what got slower, commit by commit.
29+
- 💬 **PR comments & status checks** showing performance impact directly in your workflow.
30+
- 🛡️ **Merge protection** to block PRs that degrade performance beyond your threshold.
31+
- 🐍 **Multi-language support** for Python, Rust, Node.js, Go, C/C++ and more.
32+
- 🏠 **Run locally or in CI** - works on your machine and integrates with GitHub Actions, GitLab CI, and more.
33+
- 🔌 **Plug your existing benchmarks** in less than 5 minutes - works with pytest, vitest, criterion, and more.
2534

2635
## Installation
2736

2837
```bash
29-
curl -fsSL https://github.com/CodSpeedHQ/codspeed/releases/latest/download/codspeed-runner-installer.sh | bash
30-
source "$HOME/.cargo/env"
38+
curl -fsSL https://codspeed.io/install.sh | bash
3139
```
3240

33-
Refer to the [releases page](https://github.com/CodSpeedHQ/codspeed/releases) to see all available versions.
34-
3541
## Usage
3642

3743
> [!NOTE]
@@ -58,6 +64,25 @@ codspeed run pytest ./tests --codspeed
5864
codspeed run pnpm vitest bench
5965
```
6066

67+
## In CI environments
68+
69+
To run CodSpeed in Github Actions, we recommend using our official GitHub Action: [@CodSpeedHQ/action](https://github.com/CodSpeedHQ/action).
70+
71+
## Languages Integrations
72+
73+
On top of the generic CLI, CodSpeed provides first-class integrations for multiple languages and frameworks:
74+
75+
| Language | Repository | Supported Frameworks |
76+
| --------------- | ---------------------------------------------------------------- | ------------------------------------- |
77+
| Rust | [codspeed-rust](https://github.com/CodSpeedHQ/codspeed-rust) | `divan`, `criterion.rs`, `bencher` |
78+
| C/C++ | [codspeed-cpp](https://github.com/CodSpeedHQ/codspeed-cpp) | `google-benchmark` |
79+
| Python | [pytest-codspeed](https://github.com/CodSpeedHQ/pytest-codspeed) | `pytest` plugin |
80+
| Node.js | [codspeed-node](https://github.com/CodSpeedHQ/codspeed-node) | `vitest`, `tinybench`, `benchmark.js` |
81+
| Go | [codspeed-go](https://github.com/CodSpeedHQ/codspeed-go) | builtin `testing` package integration |
82+
| Zig (community) | [codspeed-zig](https://github.com/james-elicx/codspeed-zig) | custom |
83+
84+
Need to bench another language or framework? Open [an issue](https://github.com/CodSpeedHQ/codspeed/issues) or let us know on [Discord](https://codspeed.io/discord)!
85+
6186
## Advanced usage
6287

6388
### Installing tools before running
@@ -70,27 +95,18 @@ codspeed setup
7095

7196
This is especially useful when configuring environments with tools such as docker.
7297

73-
### Logging level
74-
75-
Use the `CODSPEED_LOG` environment variable to set the logging level:
76-
77-
```bash
78-
CODSPEED_LOG=debug codspeed run ...
79-
```
80-
8198
### Changing the mode of the runner
8299

83-
By default, the runner will run the benchmark in the `instrumentation` mode. You can specify the mode with the `--mode` flag of the `run` command:
100+
By default, the runner will run the benchmark in the `simulation` mode. You can specify the mode with the `--mode` flag of the `run` command:
84101

85102
```bash
86-
# Run in the `instrumentation` mode
87-
codspeed run --mode instrumentation <my-benchmark-command>
103+
# Run in the `simulation` mode
104+
codspeed run --mode simulation <my-benchmark-command>
88105

89106
# Run in the `walltime` mode
90107
codspeed run --mode walltime <my-benchmark-command>
91108
```
92109

93110
> [!WARNING]
94-
> We strongly recommend not changing this mode unless you know what you are doing.
95111
> Using the `walltime` mode on traditional VMs/Hosted Runners will lead to inconsistent data. For the best results, we recommend using CodSpeed Hosted Macro Runners, which are fine-tuned for performance measurement consistency.
96112
> Check out the [Walltime Instrument Documentation](https://docs.codspeed.io/instruments/walltime/) for more details.

0 commit comments

Comments
 (0)