鼠扑 发表于 2025-3-13 19:07:43

2025年再来测试一下.NET各个版本和Golang的http性能,哪个更快?

 

今天无聊又翻出了一篇很久以前golang和.net测试的文章(原文),
非常好奇7、8年过去了,golang和.net 有啥变革吗?
于是我在电脑上又测了一遍。
我的电脑是win10系统,.net sdk都下了最新的版本,重新安装了一编,golang用的是go1.24.1。
好了,各位大佬来看看测试结果吧
 
.NET个版本测试结果:

https://img2024.cnblogs.com/blog/327248/202503/327248-20250313200759004-867796251.png
 
gin和iris框架测试结果:

https://img2024.cnblogs.com/blog/327248/202503/327248-20250313200838389-583665636.png
 

[*]完成 5000000 个请求的时间 - 越短越好。
[*]请求次数/每秒 - 越大越好。
[*]等待时间 — 越短越好。
[*]内存使用 — 越小越好。
[*]吞吐量 — 越大越好。
 

.NET 代码:

NET5.0、6.0、7.0:

using Microsoft.AspNetCore.Mvc;
namespace _5.Controllers
{
    // ValuesController is the equivalent
    // `ValuesController` of the Iris 8.3 mvc application.

    ")]
    public class ValuesController : ControllerBase
    {
      // Get handles "GET" requests to "api/values/{id}".
      
      public string Get(int id)
      {
            return "value";
      }
      // Put handles "PUT" requests to "api/values/{id}".
      
      public void Put(int id, string value)
      {
      }
      // Delete handles "DELETE" requests to "api/values/{id}".
      
      public void Delete(int id)
      {
      }
    }
}  
NET8.0、9.0、10.0:

app.MapGet("/api/values/{id}", (int id) =>
{
    return "value";
})
.WithName("GetApi")
.WithOpenApi();  
Gin 代码:

package main

import (
"github.com/gin-gonic/gin"
"io/ioutil"
)

func main() {
    gin.SetMode(gin.ReleaseMode)
    gin.DefaultWriter = ioutil.Discard
    r := gin.Default()
    r.GET("/api/values/:id", func(c *gin.Context) {
      c.String(200, "value")
    })
    r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}  
iris 代码:

package main

import "github.com/kataras/iris/v12"

func main() {
    app := iris.New()

    booksAPI := app.Party("/api")
    {
      booksAPI.Use(iris.Compression)
      booksAPI.Get("/values/{id}", Get)
    }

    app.Listen(":8080")
}


func Get(ctx iris.Context) {
    // id,_ := vc.Params.GetInt("id")
    ctx.WriteString("value")
}  
电脑配置:


[*]CPU:7840H
[*]内存:32.0 GB
[*]网卡:AX210
[*]操作系统: Windows 10 22H2 专业版
 

参考地点:

https://linux.cn/article-8935-1-rel.html
https://hackernoon.com/go-vs-net-core-in-terms-of-http-performance-7535a61b67b8

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 2025年再来测试一下.NET各个版本和Golang的http性能,哪个更快?