diff --git a/extras/profiling/README.md b/extras/profiling/README.md index df6ed1ea..6a03c032 100644 --- a/extras/profiling/README.md +++ b/extras/profiling/README.md @@ -1,34 +1,32 @@ # 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 Ensure the following requirements are satisfied: + - Python 3.7+ - `pyperf` 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 | -|----------------------------------------|:------:|:--------------------:| +| 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 | +| 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).