From cc022ea3ec0eebc8037621eda372f2947c868b5e Mon Sep 17 00:00:00 2001 From: Giovanni Barillari Date: Wed, 4 Dec 2024 19:07:25 +0100 Subject: [PATCH] Cleanup README --- README.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1ad6560..333f963 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Granian -A Rust HTTP server for Python applications. +A Rust HTTP server for Python applications built on top of the [Hyper crate](https://github.com/hyperium/hyper). ## Rationale @@ -98,7 +98,8 @@ Options: --threading-mode [runtime|workers] Threading mode to use [env var: GRANIAN_THREADING_MODE; default: (workers)] - --loop [auto|asyncio|uvloop] Event loop implementation [env var: + --loop [auto|asyncio|rloop|uvloop] + Event loop implementation [env var: GRANIAN_LOOP; default: (auto)] --backlog INTEGER RANGE Maximum number of connections to hold in backlog (globally) [env var: @@ -267,12 +268,6 @@ Given you specify N threads with the relevant option, in **workers** threading m Benchmarks suggests **workers** mode to be more efficient with a small amount of processes, while **runtime** mode seems to scale more efficiently where you have a large number of CPUs. Real performance will though depend on specific application code, and thus *your mileage might vary*. -### Event loop optimizations - -With the `--opt` option Granian will use custom task handlers for Python coroutines and awaitables to improve Python code execution. Due to the nature of such handlers some libraries and specific application code relying on `asyncio` internals might not work. - -You might test the effect such optimizations cause over your application and decide whether to enable 'em or leave 'em disabled (as per default). - ## Project status Granian is currently under active development.