diff --git a/docs/features/implementation.md b/docs/features/implementation.md index 73b233f..dd0987c 100644 --- a/docs/features/implementation.md +++ b/docs/features/implementation.md @@ -24,6 +24,8 @@ base64 decoding is required for Basic Auth so I used this clean and fast solutio simdjson was the fastest JSON parsing I could find, its used for request parsing. ## [Drogon webframework](https://github.com/an-tao/drogon) at the time of making this doc Drogon is the 3rd fastest web framework as per [this](https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite) sites metric of measuring web frameworks, it also has multi threading support. + +![image](https://user-images.githubusercontent.com/31377881/125890904-36507318-2183-494d-be83-85af8af863c5.png) ## Sparse saving #### Saving on close when the program is interupted with CONTROL + C it will save before closing the webserver, **it will not however save during a crash**. @@ -44,4 +46,4 @@ saving is done using FBE, this slightly reduces file size compared to JSON and i considering phmap and drogon both massively benefit from being multi-threaded it seemed obvious that the entire program should be, this is enabled by default and manually settable at `MULTI_THREADED`. Below are some graphs visualizing the gain of doing so: ## Backwards Compatible API -versioning is implemented by the endpoints path, for example `/v1`. Breaking changes will ideally be sparse and backwards compatability will be maintained, for example ideally API `v3` instance can still run `v1` endpoints. \ No newline at end of file +versioning is implemented by the endpoints path, for example `/v1`. Breaking changes will ideally be sparse and backwards compatability will be maintained, for example ideally API `v3` instance can still run `v1` endpoints.