Python 官方文档:入门教程 => 点击学习
小编给大家分享一下python和Go语言每秒请求数对比的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我用不同语言写了一
小编给大家分享一下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次请求的平均每秒钟完成请求次数
Run | Python | Go |
---|---|---|
1 | 1310.58 | 13568.34 |
2 | 1332.82 | 13092.95 |
3 | 1331.54 | 13479.45 |
4 | 1306.09 | 13271.58 |
5 | 1274.49 | 13873.09 |
Go平均完成13457次请求/秒,Python完成1311次请求/秒
在本次测试中,Go在完成JSON响应方面比Python快10.26倍。
以上是“Python和Go语言每秒请求数对比的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!
--结束END--
本文标题: Python和Go语言每秒请求数对比的示例分析
本文链接: https://lsjlt.com/news/81198.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0