mirror of https://github.com/rwf2/Rocket.git
Add performance notes to README.
This commit is contained in:
parent
08f41816d1
commit
05afb5e876
51
README.md
51
README.md
|
@ -109,3 +109,54 @@ code you contribute must be:
|
||||||
* **Focused:** Your code should do what it's supposed to do and nothing more.
|
* **Focused:** Your code should do what it's supposed to do and nothing more.
|
||||||
|
|
||||||
All pull requests are code reviewed and tested by the CI.
|
All pull requests are code reviewed and tested by the CI.
|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
Rocket is designed to be performant. At this time, its performance is
|
||||||
|
[bottlenecked by the Hyper HTTP
|
||||||
|
library](https://github.com/SergioBenitez/Rocket/issues/17). Even so, Rocket
|
||||||
|
currently performs _better_ than the latest version of Hyper on a simple "Hello,
|
||||||
|
world!" benchmark:
|
||||||
|
|
||||||
|
**Machine Specs:**
|
||||||
|
|
||||||
|
* **Logical Cores:** 12 (6 cores x 2 threads)
|
||||||
|
* **Memory:** 24gb ECC DDR3 @ 1600mhz
|
||||||
|
* **Processor:** Intel Xeon X5675 @ 3.07GHz
|
||||||
|
* **Operating System:** Mac OS X v10.11.6
|
||||||
|
|
||||||
|
**Hyper v0.10.0-a.0** (46 LOC) results (best of 3, +/- 300 req/s, +/- 1us):
|
||||||
|
|
||||||
|
Running 10s test @ http://localhost:3000
|
||||||
|
2 threads and 10 connections
|
||||||
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
|
Latency 177.61us 37.04us 1.77ms 78.55%
|
||||||
|
Req/Sec 27.56k 1.07k 30.37k 69.31%
|
||||||
|
553567 requests in 10.10s, 77.08MB read
|
||||||
|
Requests/sec: 54811.36
|
||||||
|
Transfer/sec: 7.63MB
|
||||||
|
|
||||||
|
**Rocket v0.0.11** (8 LOC) results (best of 3, +/- 200 req/s, +/- 0.5us):
|
||||||
|
|
||||||
|
Running 10s test @ http://localhost:80
|
||||||
|
2 threads and 10 connections
|
||||||
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
|
Latency 170.07us 28.02us 484.00us 72.50%
|
||||||
|
Req/Sec 28.55k 830.36 30.43k 69.80%
|
||||||
|
574017 requests in 10.10s, 79.92MB read
|
||||||
|
Requests/sec: 56836.22
|
||||||
|
Transfer/sec: 7.91MB
|
||||||
|
|
||||||
|
**Summary:**
|
||||||
|
|
||||||
|
* Rocket throughput higher by 3.7% (higher is better)
|
||||||
|
* Rocket latency lower by 4.0% (lower is better)
|
||||||
|
|
||||||
|
## Future Improvements
|
||||||
|
|
||||||
|
Rocket is currently built on a synchronous HTTP backend. Once the Rust
|
||||||
|
aynchronous I/O libraries have stabalized, a migration to a new, more performant
|
||||||
|
HTTP backend is planned. We expect performance to improve significantly at that
|
||||||
|
time. The [Stabilize HTTP
|
||||||
|
Library](https://github.com/SergioBenitez/Rocket/issues/17) issue tracks the
|
||||||
|
progress on this front.
|
||||||
|
|
Loading…
Reference in New Issue