mirror of
https://github.com/emmett-framework/granian.git
synced 2025-12-23 05:36:49 +00:00
Cleanup README
This commit is contained in:
parent
cc2da6ee5f
commit
cc022ea3ec
1 changed files with 3 additions and 8 deletions
11
README.md
11
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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue