xweb和tango框架benchmark对比

admin 发表于 [Golang] 分类,标签: Golang benchmark
0

在个人笔记本电脑上测试,主要是做对比。

xweb测试代码:

package main

import (
	"runtime"

	//导入框架
	X "github.com/coscms/xweb"
)


type HelloAction struct{
	*X.Action
	ping X.Mapper `xweb:"/ping"`
}

func (a *HelloAction) Ping(){
	a.Write("pong")
}

func main() {

	runtime.GOMAXPROCS(runtime.NumCPU())
	
	X.AddRouter("/", &HelloAction{})

	var listenAddr string = "0.0.0.0:8080"

        go X.Run(listenAddr)

	<-make(chan int) 
}

 

tanggo测试代码:

package main

import (
    "runtime"
    "github.com/lunny/tango"
)

type HelloAction struct {
    tango.Params
}

func (r *HelloAction) Ping() interface{} {
    return "pong"
}


func main() {
    runtime.GOMAXPROCS(runtime.NumCPU())
     t := tango.Classic()
    t.Route("GET:Ping", "/ping", new(HelloAction))
    t.Run("0.0.0.0",8080)
}

xweb:

点击查看原图 点击查看原图 点击查看原图

 

tango:

点击查看原图 点击查看原图

点击查看原图

点击查看原图 点击查看原图

 

 

gin:

点击查看原图

 

总结:tango中只有一次达到了"1000+ trans/sec",所以多测试了几次,而且“Failed”一项显示出不太稳定。

看网上的介绍原本以为gin框架会很快,结果显示事实并非如此,那个介绍仅仅是和martini比较而已,而且这里的测试还没有用struct(gin不支持)

发表我的评论