From 006a09f68a3823b1569b6cc4088880b1541813bb Mon Sep 17 00:00:00 2001 From: kataras Date: Tue, 21 Nov 2017 11:34:04 +0200 Subject: [PATCH] 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 --- README.md | 4 +- _benchmarks/README_UNIX.md | 61 ++++++++++++++++++ _benchmarks/expressjs-sessions/app.js | 26 -------- _benchmarks/expressjs-throng-sessions/app.js | 33 ++++++++++ .../package-lock.json | 48 ++++++++++++++ .../package.json | 6 +- .../{expressjs => expressjs-throng}/app.js | 43 ++++++------ .../package-lock.json | 13 ++++ .../package.json | 0 .../controllers/home_controller.go | 27 ++++++++ .../controllers/index_controller_heavy.go | 14 ---- _benchmarks/iris-mvc-templates/main.go | 17 ++--- .../iris-mvc/controllers/values_controller.go | 12 +++- _benchmarks/iris/main.go | 2 - .../Controllers/HomeController.cs | 2 + .../Views/Home/About.cshtml | 5 +- .../Views/Home/Contact.cshtml | 5 +- .../Views/Home/Index.cshtml | 6 +- _benchmarks/netcore-mvc/netcore-mvc.csproj | 2 +- _benchmarks/screens/unix/system_info_cpu.png | Bin 0 -> 149092 bytes ..._1m_requests_expressjs-throng-sessions.png | Bin 0 -> 51388 bytes .../unix_1m_requests_expressjs-throng.png | Bin 0 -> 61237 bytes .../unix_1m_requests_iris-mvc-templates.png | Bin 0 -> 51167 bytes .../unix/unix_1m_requests_iris-mvc.png | Bin 0 -> 52824 bytes .../unix/unix_1m_requests_iris-sessions.png | Bin 0 -> 50846 bytes .../screens/unix/unix_1m_requests_iris.png | Bin 0 -> 61567 bytes ...unix_1m_requests_netcore-mvc-templates.png | Bin 0 -> 59043 bytes .../unix/unix_1m_requests_netcore-mvc.png | Bin 0 -> 51319 bytes .../unix_1m_requests_netcore-sessions.png | Bin 0 -> 51395 bytes .../screens/unix/unix_1m_requests_netcore.png | Bin 0 -> 60316 bytes ..._5m_requests_expressjs-throng-sessions.png | Bin 0 -> 60017 bytes .../unix/unix_5m_requests_iris-mvc.png | Bin 0 -> 62578 bytes .../unix/unix_5m_requests_iris-sessions.png | Bin 0 -> 59229 bytes .../unix/unix_5m_requests_netcore-mvc.png | Bin 0 -> 61215 bytes .../unix_5m_requests_netcore-sessions.png | Bin 0 -> 60086 bytes .../screens/unix/unix_system_info_ram.png | Bin 0 -> 155663 bytes 36 files changed, 233 insertions(+), 93 deletions(-) create mode 100644 _benchmarks/README_UNIX.md delete mode 100644 _benchmarks/expressjs-sessions/app.js create mode 100644 _benchmarks/expressjs-throng-sessions/app.js rename _benchmarks/{expressjs-sessions => expressjs-throng-sessions}/package-lock.json (89%) rename _benchmarks/{expressjs-sessions => expressjs-throng-sessions}/package.json (76%) rename _benchmarks/{expressjs => expressjs-throng}/app.js (71%) rename _benchmarks/{expressjs => expressjs-throng}/package-lock.json (96%) rename _benchmarks/{expressjs => expressjs-throng}/package.json (100%) create mode 100644 _benchmarks/iris-mvc-templates/controllers/home_controller.go delete mode 100644 _benchmarks/iris-mvc-templates/controllers/index_controller_heavy.go create mode 100644 _benchmarks/screens/unix/system_info_cpu.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_expressjs-throng-sessions.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_expressjs-throng.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_iris-mvc-templates.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_iris-mvc.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_iris-sessions.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_iris.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_netcore-mvc-templates.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_netcore-mvc.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_netcore-sessions.png create mode 100644 _benchmarks/screens/unix/unix_1m_requests_netcore.png create mode 100644 _benchmarks/screens/unix/unix_5m_requests_expressjs-throng-sessions.png create mode 100644 _benchmarks/screens/unix/unix_5m_requests_iris-mvc.png create mode 100644 _benchmarks/screens/unix/unix_5m_requests_iris-sessions.png create mode 100644 _benchmarks/screens/unix/unix_5m_requests_netcore-mvc.png create mode 100644 _benchmarks/screens/unix/unix_5m_requests_netcore-sessions.png create mode 100644 _benchmarks/screens/unix/unix_system_info_ram.png diff --git a/README.md b/README.md index 27e3c1ad..70c6f245 100644 --- a/README.md +++ b/README.md @@ -12,14 +12,14 @@ Iris provides a beautifully expressive and easy to use foundation for your next Learn what [others say about Iris](https://www.youtube.com/watch?v=jGx0LkuUs4A) and [star](https://github.com/kataras/iris/stargazers) this github repository to stay [up to date](https://facebook.com/iris.framework). -[![Iris vs .NET Core(C#) vs Node.js (Express)](https://iris-go.com/images/benchmark-new-gray.png)](_benchmarks) +[![Iris vs .NET Core(C#) vs Node.js (Express)](https://iris-go.com/images/benchmark-new.png)](_benchmarks/README_UNIX.md)
Benchmarks from third-party source over the rest web frameworks ![Comparison with other frameworks](https://raw.githubusercontent.com/smallnest/go-web-framework-benchmark/4db507a22c964c9bc9774c5b31afdc199a0fe8b7/benchmark.png) -_Updated at: [Friday, 29 September 2017](_benchmarks)_ +_Updated at: [Tuesday, 21 November 2017](_benchmarks/README_UNIX.md)_
## Built with ♥️ diff --git a/_benchmarks/README_UNIX.md b/_benchmarks/README_UNIX.md new file mode 100644 index 00000000..2fad33a0 --- /dev/null +++ b/_benchmarks/README_UNIX.md @@ -0,0 +1,61 @@ +![Iris vs .NET Core(C#) vs Node.js (Express)](https://iris-go.com/images/benchmark-new.png)] + +## 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! \ No newline at end of file diff --git a/_benchmarks/expressjs-sessions/app.js b/_benchmarks/expressjs-sessions/app.js deleted file mode 100644 index 743435d5..00000000 --- a/_benchmarks/expressjs-sessions/app.js +++ /dev/null @@ -1,26 +0,0 @@ -process.env.NODE_ENV = 'production'; - -const express = require('express'); -const app = express(); -const session = require('express-session'); - -// Use the session middleware -app.use(session({ secret: '.cookiesession.id', resave: true, saveUninitialized: false, cookie: { secure: true, maxAge: 60000 } })); - -app.get('/setget', function (req, res) { - req.session.key = 'value'; - - var value = req.session.key; - if (value == '') { - res.send('NOT_OK'); - return; - } - - res.send(value); -}); - -app.listen(5000, function () { - console.log( - 'Now listening on: http://localhost:5000\nApplication started. Press CTRL+C to shut down.' - ) -}); \ No newline at end of file diff --git a/_benchmarks/expressjs-throng-sessions/app.js b/_benchmarks/expressjs-throng-sessions/app.js new file mode 100644 index 00000000..cc9a6ff6 --- /dev/null +++ b/_benchmarks/expressjs-throng-sessions/app.js @@ -0,0 +1,33 @@ +process.env.NODE_ENV = 'production'; + +const express = require('express'); +const app = express(); +const session = require('express-session'); +const createWorker = require('throng'); +const MemoryStore = require('session-memory-store')(session); + +createWorker(createWebServer) + +function createWebServer() { + // Use the session middleware with the memory-store as + // recommended for production local use, like with iris and netcore. + app.use(session({ store: new MemoryStore({expires: 1*60, checkperiod: 1*60}), secret: '.cookiesession.id', resave: true, saveUninitialized: false, cookie: { secure: true, maxAge: 60000 } })); + + app.get('/setget', function (req, res) { + req.session.key = 'value'; + + var value = req.session.key; + if (value == '') { + res.send('NOT_OK'); + return; + } + + res.send(value); + }); + + app.listen(5000, function () { + console.log( + 'Now listening on: http://localhost:5000\nApplication started. Press CTRL+C to shut down.' + ) + }); +} \ No newline at end of file diff --git a/_benchmarks/expressjs-sessions/package-lock.json b/_benchmarks/expressjs-throng-sessions/package-lock.json similarity index 89% rename from _benchmarks/expressjs-sessions/package-lock.json rename to _benchmarks/expressjs-throng-sessions/package-lock.json index a68c52a3..cec4bda5 100644 --- a/_benchmarks/expressjs-sessions/package-lock.json +++ b/_benchmarks/expressjs-throng-sessions/package-lock.json @@ -40,6 +40,11 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, + "clone": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", + "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=" + }, "content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", @@ -213,6 +218,16 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -256,6 +271,22 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "node-cache": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-3.2.1.tgz", + "integrity": "sha1-p5WNMqikLZEZziWYZWfqLF+WZ3M=", + "requires": { + "clone": "1.0.3", + "lodash": "4.17.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + } + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -350,6 +381,15 @@ "send": "0.16.0" } }, + "session-memory-store": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/session-memory-store/-/session-memory-store-0.2.2.tgz", + "integrity": "sha1-1GQ48oTPjg7RVE9v1Zk+4Ud8dlY=", + "requires": { + "lodash": "2.4.2", + "node-cache": "3.2.1" + } + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -360,6 +400,14 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, + "throng": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/throng/-/throng-4.0.0.tgz", + "integrity": "sha1-mDxroZk7WOroWZmKpof/6I34TBc=", + "requires": { + "lodash.defaults": "4.2.0" + } + }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", diff --git a/_benchmarks/expressjs-sessions/package.json b/_benchmarks/expressjs-throng-sessions/package.json similarity index 76% rename from _benchmarks/expressjs-sessions/package.json rename to _benchmarks/expressjs-throng-sessions/package.json index 39c15b0a..b8e257bc 100644 --- a/_benchmarks/expressjs-sessions/package.json +++ b/_benchmarks/expressjs-throng-sessions/package.json @@ -10,6 +10,8 @@ "license": "ISC", "dependencies": { "express": "^4.16.0", - "express-session": "^1.15.6" + "express-session": "^1.15.6", + "session-memory-store": "^0.2.2", + "throng": "4.0.0" } -} \ No newline at end of file +} diff --git a/_benchmarks/expressjs/app.js b/_benchmarks/expressjs-throng/app.js similarity index 71% rename from _benchmarks/expressjs/app.js rename to _benchmarks/expressjs-throng/app.js index d26e050a..6ae95c34 100644 --- a/_benchmarks/expressjs/app.js +++ b/_benchmarks/expressjs-throng/app.js @@ -1,23 +1,22 @@ -process.env.NODE_ENV = 'production'; - -const express = require('express'); -const createWorker = require('throng') - - -createWorker(createWebServer) - -function createWebServer() -{ - const app = express(); - - app.get('/api/values/:id', function (req, res) { - res.send('value'); - }); - - app.listen(5000, function () { - console.log( - 'Now listening on: http://localhost:5000\nApplication started. Press CTRL+C to shut down.' - ) - }); - +process.env.NODE_ENV = 'production'; + +const express = require('express'); +const createWorker = require('throng'); + + +createWorker(createWebServer) + +function createWebServer() { + const app = express(); + + app.get('/api/values/:id', function (req, res) { + res.send('value'); + }); + + app.listen(5000, function () { + console.log( + 'Now listening on: http://localhost:5000\nApplication started. Press CTRL+C to shut down.' + ) + }); + } \ No newline at end of file diff --git a/_benchmarks/expressjs/package-lock.json b/_benchmarks/expressjs-throng/package-lock.json similarity index 96% rename from _benchmarks/expressjs/package-lock.json rename to _benchmarks/expressjs-throng/package-lock.json index 24d6e0ec..6747dc5e 100644 --- a/_benchmarks/expressjs/package-lock.json +++ b/_benchmarks/expressjs-throng/package-lock.json @@ -192,6 +192,11 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -329,6 +334,14 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, + "throng": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/throng/-/throng-4.0.0.tgz", + "integrity": "sha1-mDxroZk7WOroWZmKpof/6I34TBc=", + "requires": { + "lodash.defaults": "4.2.0" + } + }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", diff --git a/_benchmarks/expressjs/package.json b/_benchmarks/expressjs-throng/package.json similarity index 100% rename from _benchmarks/expressjs/package.json rename to _benchmarks/expressjs-throng/package.json diff --git a/_benchmarks/iris-mvc-templates/controllers/home_controller.go b/_benchmarks/iris-mvc-templates/controllers/home_controller.go new file mode 100644 index 00000000..30e65505 --- /dev/null +++ b/_benchmarks/iris-mvc-templates/controllers/home_controller.go @@ -0,0 +1,27 @@ +package controllers + +import "github.com/kataras/iris/mvc" + +type HomeController struct{ mvc.C } + +func (c *HomeController) Get() mvc.Result { + return mvc.View{Name: "index.html"} +} + +func (c *HomeController) GetAbout() mvc.Result { + return mvc.View{ + Name: "about.html", + Data: map[string]interface{}{ + "Title": "About Page", + "Message": "Your application description page."}, + } +} + +func (c *HomeController) GetContact() mvc.Result { + return mvc.View{ + Name: "contact.html", + Data: map[string]interface{}{ + "Title": "Contact Page", + "Message": "Your application description page."}, + } +} diff --git a/_benchmarks/iris-mvc-templates/controllers/index_controller_heavy.go b/_benchmarks/iris-mvc-templates/controllers/index_controller_heavy.go deleted file mode 100644 index 3f0e4465..00000000 --- a/_benchmarks/iris-mvc-templates/controllers/index_controller_heavy.go +++ /dev/null @@ -1,14 +0,0 @@ -package controllers - -import "github.com/kataras/iris/mvc" - -type IndexControllerHeavy struct{ mvc.C } - -func (c *IndexControllerHeavy) Get() mvc.View { - return mvc.View{ - Name: "index.html", - Data: map[string]interface{}{ - "Title": "Home Page", - }, - } -} diff --git a/_benchmarks/iris-mvc-templates/main.go b/_benchmarks/iris-mvc-templates/main.go index 5c1dd7c8..bde260e4 100644 --- a/_benchmarks/iris-mvc-templates/main.go +++ b/_benchmarks/iris-mvc-templates/main.go @@ -8,28 +8,29 @@ import ( ) const ( - // templatesDir is the exactly the same path that .NET Core is using for its templates, + // publicDir is the exactly the same path that .NET Core is using for its templates, // in order to reduce the size in the repository. // Change the "C\\mygopath" to your own GOPATH. - templatesDir = "C:\\mygopath\\src\\github.com\\kataras\\iris\\_benchmarks\\netcore-mvc-templates\\wwwroot" + // publicDir = "C:\\mygopath\\src\\github.com\\kataras\\iris\\_benchmarks\\netcore-mvc-templates\\wwwroot" + publicDir = "/home/kataras/mygopath/src/github.com/kataras/iris/_benchmarks/netcore-mvc-templates/wwwroot" ) func main() { app := iris.New() app.Configure(configure) - app.Controller("/", new(controllers.IndexController)) - app.Controller("/about", new(controllers.AboutController)) - app.Controller("/contact", new(controllers.ContactController)) + // app.Controller("/", new(controllers.IndexController)) + // app.Controller("/about", new(controllers.AboutController)) + // app.Controller("/contact", new(controllers.ContactController)) + + app.Controller("/", new(controllers.HomeController)) - // 24 August 2017: Iris has a built'n version updater but we don't need it - // when benchmarking... app.Run(iris.Addr(":5000"), iris.WithoutVersionChecker) } func configure(app *iris.Application) { app.RegisterView(iris.HTML("./views", ".html").Layout("shared/layout.html")) - app.StaticWeb("/public", templatesDir) + app.StaticWeb("/public", publicDir) app.OnAnyErrorCode(onError) } diff --git a/_benchmarks/iris-mvc/controllers/values_controller.go b/_benchmarks/iris-mvc/controllers/values_controller.go index 9b425848..c560a641 100644 --- a/_benchmarks/iris-mvc/controllers/values_controller.go +++ b/_benchmarks/iris-mvc/controllers/values_controller.go @@ -5,13 +5,19 @@ import "github.com/kataras/iris/mvc" // ValuesController is the equivalent // `ValuesController` of the .net core 2.0 mvc application. type ValuesController struct { - mvc.Controller + mvc.C } -// Get handles "GET" requests to "api/values/{id}". +/* on windows tests(older) the Get was: func (vc *ValuesController) Get() { // id,_ := vc.Params.GetInt("id") - vc.Ctx.WriteString("value") + // vc.Ctx.WriteString("value") +} +but as Iris is always going better, now supports return values as well*/ + +// Get handles "GET" requests to "api/values/{id}". +func (vc *ValuesController) Get() string { + return "value" } // Put handles "PUT" requests to "api/values/{id}". diff --git a/_benchmarks/iris/main.go b/_benchmarks/iris/main.go index d9ee27de..ef5d1090 100644 --- a/_benchmarks/iris/main.go +++ b/_benchmarks/iris/main.go @@ -11,7 +11,5 @@ func main() { ctx.WriteString("value") }) - // 24 August 2017: Iris has a built'n version updater but we don't need it - // when benchmarking... app.Run(iris.Addr(":5000"), iris.WithoutVersionChecker) } diff --git a/_benchmarks/netcore-mvc-templates/Controllers/HomeController.cs b/_benchmarks/netcore-mvc-templates/Controllers/HomeController.cs index 3b86f746..09ca6f65 100644 --- a/_benchmarks/netcore-mvc-templates/Controllers/HomeController.cs +++ b/_benchmarks/netcore-mvc-templates/Controllers/HomeController.cs @@ -17,6 +17,7 @@ namespace netcore_mvc_templates.Controllers public IActionResult About() { + ViewData["Title"] = "About Page"; ViewData["Message"] = "Your application description page."; return View(); @@ -24,6 +25,7 @@ namespace netcore_mvc_templates.Controllers public IActionResult Contact() { + ViewData["Title"] = "Contact Page"; ViewData["Message"] = "Your contact page."; return View(); diff --git a/_benchmarks/netcore-mvc-templates/Views/Home/About.cshtml b/_benchmarks/netcore-mvc-templates/Views/Home/About.cshtml index d6c9ce51..2052e8ae 100644 --- a/_benchmarks/netcore-mvc-templates/Views/Home/About.cshtml +++ b/_benchmarks/netcore-mvc-templates/Views/Home/About.cshtml @@ -1,7 +1,4 @@ -@{ - ViewData["Title"] = "About"; -} -

@ViewData["Title"]

+

@ViewData["Title"]

@ViewData["Message"]

Use this area to provide additional information.

diff --git a/_benchmarks/netcore-mvc-templates/Views/Home/Contact.cshtml b/_benchmarks/netcore-mvc-templates/Views/Home/Contact.cshtml index 57b40cc4..0c790fb1 100644 --- a/_benchmarks/netcore-mvc-templates/Views/Home/Contact.cshtml +++ b/_benchmarks/netcore-mvc-templates/Views/Home/Contact.cshtml @@ -1,7 +1,4 @@ -@{ - ViewData["Title"] = "Contact"; -} -

@ViewData["Title"]

+

@ViewData["Title"]

@ViewData["Message"]

diff --git a/_benchmarks/netcore-mvc-templates/Views/Home/Index.cshtml b/_benchmarks/netcore-mvc-templates/Views/Home/Index.cshtml index ddaa40c6..ad7c22c0 100644 --- a/_benchmarks/netcore-mvc-templates/Views/Home/Index.cshtml +++ b/_benchmarks/netcore-mvc-templates/Views/Home/Index.cshtml @@ -1,8 +1,4 @@ -@{ - ViewData["Title"] = "Home Page"; -} - -