11# HTTPie Benchmarking Infrastructure
22
3- This directory includes the benchmarks we use for testing HTTPie's speed and the infrastructure to automate this testing accross versions.
3+ This directory includes the benchmarks we use for testing HTTPie's speed and the
4+ infrastructure to automate this testing accross versions.
45
56## Usage
67
@@ -15,20 +16,24 @@ Then, run the `extras/benchmarks/run.py`:
1516$ python extras/profiling/run.py
1617```
1718
18- Without any options, this command will initially create an isolated environment and install ` httpie ` from the latest commit. Then it will create a
19- 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
20- markdown table:
19+ Without any options, this command will initially create an isolated environment
20+ and install ` httpie ` from the latest commit. Then it will create a second
21+ environment with the ` master ` of the current repository and run the benchmarks
22+ on both of them. It will compare the results and print it as a markdown table:
2123
2224| Benchmark | master | this_branch |
2325| -------------------------------------- | :----: | :------------------: |
2426| ` http --version ` (startup) | 201 ms | 174 ms: 1.16x faster |
2527| ` http --offline pie.dev/get ` (startup) | 200 ms | 174 ms: 1.15x faster |
2628| Geometric mean | (ref) | 1.10x faster |
2729
28- 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
29- ` httpie/httpie ` repo from ` GitHub ` and use it as the baseline.
30+ If your ` master ` branch is not up-to-date, you can get a fresh clone by passing
31+ ` --fresh ` option. This way, the benchmark runner will clone the ` httpie/httpie `
32+ repo from ` GitHub ` and use it as the baseline.
3033
31- You can customize these branches by passing ` --local-repo ` /` --target-branch ` , and customize the repos by passing ` --local-repo ` /` --target-repo ` (can
32- either take a URL or a path).
34+ You can customize these branches by passing ` --local-repo ` /` --target-branch ` ,
35+ and customize the repos by passing ` --local-repo ` /` --target-repo ` (can either
36+ take a URL or a path).
3337
34- If you want to run a third enviroment with additional dependencies (such as ` pyOpenSSL ` ), you can pass ` --complex ` .
38+ If you want to run a third enviroment with additional dependencies (such as
39+ ` pyOpenSSL ` ), you can pass ` --complex ` .
0 commit comments