温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python和Go语言每秒请求数对比的示例分析

发布时间:2021-09-14 18:29:39 来源:亿速云 阅读:206 作者:小新 栏目:web开发

小编给大家分享一下Python和Go语言每秒请求数对比的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

我用不同语言写了一个简单的REST服务,使用ab工具检测响应速度。

Python

server.py

from bottle import route, run  @route('/') def home():     article = {'name': 'A Royal Baby', 'body':'A slow news week'}     return article  def main():     run(host='localhost', port=8081)  if __name__ == '__main__':     main()

Go

server.go

package main  import (     "encoding/json"     "fmt"     "github.com/emicklei/go-restful"     "io"     "net/http" )  func main() {     ws := new(restful.WebService)     ws.Route(ws.GET("/").To(hello))     restful.Add(ws)     fmt.Print("Server starting on port 8080\n")      http.ListenAndServe(":8080", nil) }  func hello(req *restful.Request, resp *restful.Response) {     article := Article{"A Royal Baby", "A slow news week"}     b, _ := json.Marshal(article)     io.WriteString(resp, string(b)) }  type Article struct {     Name string     Body string }

Go语言的版本明显比Python版的更详细,但我认为它仍然非常言简意赅。Python服务器使用bottle框架,指定的article字典作为响应自动序列化返回。Go服务器使用go-restful包,这个包使得在Go中很容易构建RESTful API。

测试基准是在Macbook Pro上,CPU i7 2.4Ghz,16GB RAM。

使用下附命令:

ab -q -c 50 -n 1000 http://127.0.0.1:8080/ | grep "Requests per second"

结果

5次测试,1000次请求的平均每秒钟完成请求次数

RunPythonGo
11310.5813568.34
21332.8213092.95
31331.5413479.45
41306.0913271.58
51274.4913873.09

Go平均完成13457次请求/秒,Python完成1311次请求/秒

在本次测试中,Go在完成JSON响应方面比Python快10.26倍。

以上是“Python和Go语言每秒请求数对比的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI