proxy.py/benchmark
dependabot[bot] 0e7c48ca26
pip prod(deps): bump starlette from 0.17.1 to 0.19.1 (#1168)
Bumps [starlette](https://github.com/encode/starlette) from 0.17.1 to 0.19.1.
- [Release notes](https://github.com/encode/starlette/releases)
- [Changelog](https://github.com/encode/starlette/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/starlette/compare/0.17.1...0.19.1)

---
updated-dependencies:
- dependency-name: starlette
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 12:36:14 +05:30
..
README.md Optimizations & Update Benchmark Results (#832) 2021-12-01 04:18:49 +05:30
_aiohttp.py Use `--local-executor` flag by default for Docker container (#880) 2021-12-19 12:48:05 +05:30
_blacksheep.py [isort] Lib modules (#1016) 2022-01-20 15:34:54 +05:30
_proxy.py Pre `v2.4.0rc8` cleanups (#1053) 2022-01-24 11:36:51 +05:30
_starlette.py [isort] Lib modules (#1016) 2022-01-20 15:34:54 +05:30
_tornado.py [isort] Lib modules (#1016) 2022-01-20 15:34:54 +05:30
compare.sh Use `--local-executor` flag by default for Docker container (#880) 2021-12-19 12:48:05 +05:30
requirements.txt pip prod(deps): bump starlette from 0.17.1 to 0.19.1 (#1168) 2022-05-26 12:36:14 +05:30

README.md

Benchmark

Table of Contents

TL;DR

NOTE: On Macbook Pro 2019 / 2.4 GHz 8-Core Intel Core i9 / 32 GB RAM

Server Throughput (request/sec) Num Workers Runner
blacksheep 46,564 10 uvicorn
starlette 44,102 10 uvicorn
proxy.py 39,232 10 -
aiohttp 6,615 1 -
tornado 3,301 1 -
  • On a single core, proxy.py yields ~9449 req/sec throughput.
  • Try it using --num-acceptors=1

Usage

 git clone https://github.com/abhinavsingh/proxy.py.git
 cd proxy.py
 pip install -r benchmark/requirements.txt
 ./benchmark/compare.sh > /tmp/compare.log 2>&1

Results

 cat /tmp/compare.log