Skip to content

Commit

Permalink
docs: format the benchmark docs
Browse files Browse the repository at this point in the history
  • Loading branch information
isidentical committed Jan 24, 2022
1 parent d5e3611 commit 45fcd74
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions extras/profiling/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# HTTPie Benchmarking Infrastructure

This directory includes the benchmarks we use for testing HTTPie's speed and the infrastructure to automate this testing accross versions.
This directory includes the benchmarks we use for testing HTTPie's speed and the
infrastructure to automate this testing accross versions.

## Usage

Expand All @@ -15,20 +16,24 @@ Then, run the `extras/benchmarks/run.py`:
$ python extras/profiling/run.py
```

Without any options, this command will initially create an isolated environment and install `httpie` from the latest commit. Then it will create a
second environment with the `master` of the current repository and run the benchmarks on both of them. It will compare the results and print it as a
markdown table:
Without any options, this command will initially create an isolated environment
and install `httpie` from the latest commit. Then it will create a second
environment with the `master` of the current repository and run the benchmarks
on both of them. It will compare the results and print it as a markdown table:

| Benchmark | master | this_branch |
| -------------------------------------- | :----: | :------------------: |
| `http --version` (startup) | 201 ms | 174 ms: 1.16x faster |
| `http --offline pie.dev/get` (startup) | 200 ms | 174 ms: 1.15x faster |
| Geometric mean | (ref) | 1.10x faster |

If your `master` branch is not up-to-date, you can get a fresh clone by passing `--fresh` option. This way, the benchmark runner will clone the
`httpie/httpie` repo from `GitHub` and use it as the baseline.
If your `master` branch is not up-to-date, you can get a fresh clone by passing
`--fresh` option. This way, the benchmark runner will clone the `httpie/httpie`
repo from `GitHub` and use it as the baseline.

You can customize these branches by passing `--local-repo`/`--target-branch`, and customize the repos by passing `--local-repo`/`--target-repo` (can
either take a URL or a path).
You can customize these branches by passing `--local-repo`/`--target-branch`,
and customize the repos by passing `--local-repo`/`--target-repo` (can either
take a URL or a path).

If you want to run a third enviroment with additional dependencies (such as `pyOpenSSL`), you can pass `--complex`.
If you want to run a third enviroment with additional dependencies (such as
`pyOpenSSL`), you can pass `--complex`.

0 comments on commit 45fcd74

Please sign in to comment.