我正在使用fasthttp包构建一个 Rest API。我有一条用于测量性能的测试路线:
package main
import (
"github.com/valyala/fasthttp"
"runtime"
)
func main() {
runtime.GOMAXPROCS(8)
m := func(ctx *fasthttp.RequestCtx) {
switch string(ctx.Path()) {
case "/test":
test(ctx)
default:
ctx.Error("not found", fasthttp.StatusNotFound)
}
}
fasthttp.ListenAndServe(":80", m)
}
func test(ctx *fasthttp.RequestCtx) {
println("HERE")
}
如果我向此路由发送请求,则需要 10 多秒才能到达println("HERE")
测试功能。
我已经建立了一个类似的端点Node.js
,这个完全相同的功能和路由需要 126 毫秒。
为什么在 Go 中调用这条路由指向的函数需要这么长时间?