Skip to content

erinus/DotNetCore_vs_Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.Net Core vs. Go (modified 2016.07.29)

Virtual Machines runs by VMware Workstation 12.1.1 build-3770994 on Windows 10 x64

Host Environment

Board: Supermicro MBD-X10DAI-O
CPU: Intel Xeon E5-2630 V3 (2.4GHz, 20MB Cache) * 2
RAM: Samsung 16GB DDR4-2133 ECC REG * 4
RAID: LSI9260-8i (RAID10)
HDD: TOSHIBA MD03ACA400V (4TB, 7200RPM, 64M, SATAIII) * 4
OS: Microsoft Windows 10 Enterprise x64

Guest Environment: .NET Core & Go

Processors: 4 (1 processors, 4 cores)
Memory: 4GB
Hard Disk (SCSI): 64GB
Network Adapter: NAT
OS: Ubuntu Server 16.04 x64
Software: Microsoft .NET Core 1.0.1 (Build cee57bf6c981237d80aa1631cfe83cb9ba329f12)
Software: Google Go 1.6.3

Guest Environment: Apach JMeter

Processors: 16 (1 processors, 16 cores)
Memory: 4GB
Hard Disk (SCSI): 64GB
Network Adapter: NAT
OS: Ubuntu Desktop 14.04.4 x64
Software: Oracle Java 2 SDK 8
Software: Apache JMeter 3.0

Apache JMeter Configuration

Plan

 - Thread Group
   Number of Threads (users): 128
   Ramp-Up Period (in seconds): 0
   Loop Count: 100

     - Loop Controller
       Lopp Count: 100

         - HTTP Request
           Implementation: HttpClient4

Common

Web & Database

Case 01: Output Static JSON

.NET Core .NET Core Go
Web Framework ASP.NET Core ASP.NET Core gin
JSON System.Runtime.Serialization.Json Newtonsoft.Json encoding/json
Throughput 16324 18094 21203
KB/sec 2833 2845 2961

The default JSON Serializer of ASP.NET Core MVC is Newtonsoft.Json.

Case 02: Output Static JSON and Add 1000 times Random Number into List

.NET Core Go Go
Web Framework ASP.NET Core gin gin
JSON System.Runtime.Serialization.Json encoding/json encoding/json
List System.Collections.Generic.List slice container/list
Throughput 16901 6252 21203
KB/sec 2360 873 2961

Case 03: Output HTML by Template

.NET Core Go Go
Web Framework ASP.NET Core gin gin
Template Razor html/template valyala/quicktemplate
Throughput 1449 258 1127
KB/sec 77722 13836 60402

Thanks for all help.

WangShen Lu The difference between Go array and slice
mcliment To make comparison fair by adjusting code and settings for .NET Core Project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published