Skip to content

Commit b83835a

Browse files
committed
condense languages
1 parent 75dcd0d commit b83835a

1 file changed

Lines changed: 16 additions & 86 deletions

File tree

README.md

Lines changed: 16 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -17,51 +17,29 @@ and monitor the results on GitHub Actions workflow.
1717

1818
![alert comment](https://raw.githubusercontent.com/rhysd/ss/master/github-action-benchmark/alert-comment.png)
1919

20-
## Supported tools
21-
22-
This action currently supports the following tools. Please read the README file in each example directory.
23-
24-
- [`cargo bench`][cargo-bench] for Rust projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/rust/README.md)
25-
- `go test -bench` for Go projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/go/README.md)
26-
- [benchmark.js][benchmarkjs] for JavaScript/TypeScript projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/benchmarkjs/README.md)
27-
- [pytest-benchmark][] for Python projects with [pytest][]. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/benchmarkjs/README.md)
28-
- [Google Benchmark Framework][google-benchmark] for C++ projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/cpp/README.md)
29-
- [Catch2][catch2] for C++ projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/cpp/README.md)
30-
- [BenchmarkTools.jl][] for Julia packages. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/julia/README.md)
31-
- [Benchmark.Net][benchmarkdotnet] for .Net projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark/blob/master/examples/benchmarkdotnet/README.md)
32-
- [benchmarkluau](https://github.com/Roblox/luau/tree/master/bench) for Luau projects. [Example setup](https://github.com/benchmark-action/github-action-benchmark?tab=readme-ov-file#)
33-
- [JMH][jmh] for Java projects
34-
- Custom benchmarks where either 'biggerIsBetter' or 'smallerIsBetter'
35-
36-
Multiple languages in the same repository are supported for polyglot projects.. Usually, take stdout from a benchmark tool and store it to file. Then specify the file path to output-file-path input.
37-
38-
3920
[Japanese Blog post](https://rhysd.hatenablog.com/entry/2019/11/11/131505)
4021

41-
42-
43-
## Examples
44-
45-
Example projects for each language are in [examples/](./examples) directory. Live example workflow
46-
definitions are in [.github/workflows/](./.github/workflows) directory. Live workflows are:
47-
48-
| Language | Workflow | Example Project |
49-
|--------------|-----------------------------------------------------------------------------------------|------------------------------------------------|
50-
| Rust | [![Rust Example Workflow][rust-badge]][rust-workflow-example] | [examples/rust](./examples/rust) |
51-
| Go | [![Go Example Workflow][go-badge]][go-workflow-example] | [examples/go](./examples/go) |
52-
| JavaScript | [![JavaScript Example Workflow][benchmarkjs-badge]][benchmarkjs-workflow-example] | [examples/benchmarkjs](./examples/benchmarkjs) |
53-
| Python | [![pytest-benchmark Example Workflow][pytest-benchmark-badge]][pytest-workflow-example] | [examples/pytest](./examples/pytest) |
54-
| C++ | [![C++ Example Workflow][cpp-badge]][cpp-workflow-example] | [examples/cpp](./examples/cpp) |
55-
| C++ (Catch2) | [![C++ Catch2 Example Workflow][catch2-badge]][catch2-workflow-example] | [examples/catch2](./examples/catch2) |
56-
| Julia | [![Julia Example][julia-badge]][julia-workflow-example] | [examples/julia](./examples/julia) |
57-
| .Net | [![C# Benchmark.Net Example Workflow][benchmarkdotnet-badge]][benchmarkdotnet-workflow-example] | [examples/benchmarkdotnet](./examples/benchmarkdotnet) |
58-
| Java | [![Java Example Workflow][java-badge]][java-workflow-example] | [examples/java](./examples/java) |
59-
| Luau | Coming soon | Coming soon |
22+
## Supported languages & examples
23+
24+
| Language | Supported | Example Workflow | Example Project |
25+
|--------------|-----------|-----------------------------------------------------------------------------|--------------------------------------------------------|
26+
| Rust | Yes | [![cargo bench][rust-badge]][rust-workflow-example] | [examples/rust](./examples/rust) |
27+
| Go | Yes | [![go test -bench][go-badge]][go-workflow-example] | [examples/go](./examples/go) |
28+
| JavaScript | Yes | [![benchmark.js][benchmarkjs-badge]][benchmarkjs-workflow-example] | [examples/benchmarkjs](./examples/benchmarkjs) |
29+
| Python | Yes | [![pytest-benchmark][pytest-benchmark-badge]][pytest-workflow-example] | [examples/pytest](./examples/pytest) |
30+
| C++ | Yes | [![Google Benchmark Framework][cpp-badge]][cpp-workflow-example] | [examples/cpp](./examples/cpp) |
31+
| C++ (Catch2) | Yes | [![Catch2][catch2-badge]][catch2-workflow-example] | [examples/catch2](./examples/catch2) |
32+
| Julia | Yes | [![BenchmarkTools.jl][julia-badge]][julia-workflow-example] | [examples/julia](./examples/julia) |
33+
| .Net | Yes | [![Benchmark.Net][benchmarkdotnet-badge]][benchmarkdotnet-workflow-example] | [examples/benchmarkdotnet](./examples/benchmarkdotnet) |
34+
| Java | Yes | [![JMH][java-badge]][java-workflow-example] | [examples/java](./examples/java) |
35+
| Luau | Yes | Coming soon for benchmarkluau | Coming soon |
6036

6137
All benchmark charts from above workflows are gathered in GitHub pages:
6238

6339
https://benchmark-action.github.io/github-action-benchmark/dev/bench/
6440

41+
## Custom benchmarks
42+
6543
Additionally, even though there is no explicit example for them, you can use
6644
`customBiggerIsBetter` and `customSmallerIsBetter` to use this
6745
action and create your own graphs from your own benchmark data. The name in
@@ -88,36 +66,6 @@ context) properties. Like this:
8866
}
8967
]
9068
```
91-
92-
## Screenshots
93-
94-
### Charts on GitHub Pages
95-
96-
![page screenshot](https://raw.githubusercontent.com/rhysd/ss/master/github-action-benchmark/main.png)
97-
98-
Mouseover on data point shows a tooltip. It includes
99-
100-
- Commit hash
101-
- Commit message
102-
- Date and committer
103-
- Benchmark value
104-
105-
Clicking data point in chart opens the commit page on a GitHub repository.
106-
107-
![tooltip](https://raw.githubusercontent.com/rhysd/ss/master/github-action-benchmark/tooltip.png)
108-
109-
At bottom of the page, the download button is available for downloading benchmark results as a JSON file.
110-
111-
![download button](https://raw.githubusercontent.com/rhysd/ss/master/github-action-benchmark/download.png)
112-
113-
114-
### Alert comment on commit page
115-
116-
This action can raise [an alert comment][alert-comment-example]. to the commit when its benchmark
117-
results are worse than previous exceeding a specified threshold.
118-
119-
![alert comment](https://raw.githubusercontent.com/rhysd/ss/master/github-action-benchmark/alert-comment.png)
120-
12169
## How to use
12270

12371
### Minimal setup
@@ -324,24 +272,6 @@ If you don't want to pass GitHub API token to this action:
324272

325273
Please add a step to push the branch to the remote.
326274

327-
### Tool specific setup
328-
329-
Please read `README.md` files at each example directory. Usually, take stdout from a benchmark tool
330-
and store it to file. Then specify the file path to `output-file-path` input.
331-
332-
- [`cargo bench` for Rust projects](./examples/rust/README.md)
333-
- [`go test` for Go projects](./examples/go/README.md)
334-
- [Benchmark.js for JavaScript/TypeScript projects](./examples/benchmarkjs/README.md)
335-
- [pytest-benchmark for Python projects with pytest](./examples/pytest/README.md)
336-
- [Google Benchmark Framework for C++ projects](./examples/cpp/README.md)
337-
- [catch2 for C++ projects](./examples/cpp/README.md)
338-
- [BenchmarkTools.jl for Julia projects](./examples/julia/README.md)
339-
- [Benchmark.Net for .Net projects](./examples/benchmarkdotnet/README.md)
340-
- [benchmarkluau for Luau projects](#) - Examples for this are still a work in progress.
341-
342-
These examples are run in workflows of this repository as described in the 'Examples' section above.
343-
344-
345275
### Action inputs
346276

347277
Input definitions are written in [action.yml](./action.yml).

0 commit comments

Comments
 (0)