mirror of
https://github.com/kataras/iris.git
synced 2026-01-25 04:45:57 +00:00
update benchmarks and use throng on expressjs for better performance-- 21 Nov 2017 with linux ubuntu and latest mainline kernel 4.14
Former-commit-id: 40d27dd7d02f4ead756be090364075a6570ae2cb
This commit is contained in:
61
_benchmarks/README_UNIX.md
Normal file
61
_benchmarks/README_UNIX.md
Normal file
@@ -0,0 +1,61 @@
|
||||
]
|
||||
|
||||
## Hardware
|
||||
|
||||
* [Processor](screens/unix/system_info_cpu.png): Intel(R) Core(TM) **i7-4710HQ** CPU @ 2.50GHz
|
||||
* [RAM](screens/unix/system_info_ram.png): **8.00 GB**
|
||||
|
||||
## Software
|
||||
|
||||
* OS: Linux **Ubuntu** [Version **17.10**] with latest kernel version **4.14.0-041400-generic x86_64 GNU/Linux**
|
||||
* HTTP Benchmark Tool: https://github.com/codesenberg/bombardier, latest version **1.1**
|
||||
* **Iris [Go]**: https://github.com/kataras/iris, latest version **8.5.7** built with [go1.9.2](https://golang.org)
|
||||
* **.NET Core [C#]**: https://www.microsoft.com/net/core, latest version **2.0.2**
|
||||
* **Node.js (express + throng) [Javascript]**: https://nodejs.org/, latest version **9.2.0**, express: https://github.com/expressjs/express latest version **4.16.0** and [throng](https://www.npmjs.com/package/throng) latest version **4.0.0**
|
||||
|
||||
Go ahead to the [README.md](README.md) and read how you can reproduce the benchmarks. Don't be scary it's actually very easy, you can do these things as well!
|
||||
|
||||
## Results
|
||||
|
||||
* Throughput - `bigger is better`.
|
||||
* Reqs/sec (Requests Per Second in Average) - `bigger is better`.
|
||||
* Latency - `smaller is better`.
|
||||
* Time To Complete - `smaller is better`.
|
||||
* Total Requests in this fortune are all 1 million, in order to be easier to do the graph later on.
|
||||
|
||||
### Native
|
||||
|
||||
| Name | Throughput | Reqs/sec | Latency | Time To Complete | Total Requests |
|
||||
|-------|:-----------|:--------|:-------------|---------|------|------|
|
||||
| Iris | **29.31MB/s** | 157628 | 791.58us | 6s | 1000000 |
|
||||
| Kestrel | **25.28MB/s** | 139642 | 0.89ms | 7s | 1000000 |
|
||||
| Node.js | **13.69MB/s** | 50907 | 2.45ms | 19s | 1000000 |
|
||||
| Iris with Sessions | **22.37MB/s** | 71922 | 1.74ms | 14s | 1000000 |
|
||||
| Kestrel with Sessions | **14.51MB/s** | 31102 | 4.02ms | 32s | 1000000 |
|
||||
| Node.js with Sessions | **5.08MB/s** | 19358 | 6.48ms | 51s | 1000000 |
|
||||
|
||||
> each test has its own screenshot, click [here](screens/unix) to explore
|
||||
|
||||
### MVC (Model View Controller)
|
||||
|
||||
| Name | Throughput | Reqs/sec | Latency | Time To Complete | Total Requests |
|
||||
|-------|:-----------|:--------|:-------------|---------|------|
|
||||
| Iris MVC | **26.39MB/s** | 141868 | 0.88ms | 7s | 1000000 |
|
||||
| .Net Core MVC | **11.99MB/s** | 54418 | 2.30ms | 18s | 1000000 |
|
||||
| - | - | - | - | - | - |
|
||||
| Iris MVC with Templates | **136.58MB/s** | 18933 | 6.60ms | 52s | 1000000 |
|
||||
| .Net Core MVC with Templates | **88.95MB/s** | 12347 | 10.12ms | 1m21s | 1000000 |
|
||||
| - | - | - | - | - | - |
|
||||
|
||||
> nodejs express does not contain any MVC features
|
||||
|
||||
### Updates
|
||||
|
||||
- 21 November 2017: initial run and publish
|
||||
|
||||
## Articles (ms windows OS)
|
||||
|
||||
- https://hackernoon.com/go-vs-net-core-in-terms-of-http-performance-7535a61b67b8
|
||||
- https://hackernoon.com/iris-go-vs-net-core-kestrel-in-terms-of-http-performance-806195dc93d5
|
||||
|
||||
**Thank you all** for the 100% green feedback, have fun!
|
||||
Reference in New Issue
Block a user