Sanic 是一个仅仅支持 Python 3.5+的 Web 框架,跟 Flask 很像,支持异步 IO。自己用它写了几个 web 应用,感觉不错。 这里有一个简单的介绍 https://www.imgless.com/article/87.html
1
Debiancc 2018-09-11 18:21:26 +08:00
python 想要高性能?还是想想怎么把 GIL 移除吧
|
2
codingcrush 2018-09-11 18:31:11 +08:00 1
sanic 库代码太丑,实测性能也不咋地,py 高性能是伪命题
|
3
jiangnanyanyu 2018-09-11 18:34:27 +08:00 via Android
太难写了
|
4
windfarer 2018-09-11 18:36:18 +08:00
apistar vibora
|
5
baojiweicn2 2018-09-11 20:48:25 +08:00 via iPhone
sanic 协程不够啊,要 orm 一堆东西都异步才行
|
6
luzhongqiu 2018-09-11 21:21:27 +08:00
用了。。配套一些列的异步数据库操作
|
7
gemini 2018-09-11 21:49:15 +08:00
有在用 vibora 的 v 友么
https://github.com/vibora-io/vibora |
8
d18 2018-09-11 21:51:36 +08:00
golang 大法好,python 的异步太混乱。
|
10
qq976739120 2018-09-11 22:19:06 +08:00
需要性能了就要考虑换语言了
|
11
so1n 2018-09-11 22:43:14 +08:00
sanic 的生态还没那么完善 有时找不到轮子
|
12
BjQR4kYSAe4Eo7vl 2018-09-11 22:45:43 +08:00 via iPhone
@d18 大佬,你用的什么 go 框架,学习中,想偷师
|
13
deepreader 2018-09-12 04:20:52 +08:00
@Debiancc GIL 还是解决还是 multiple core CPU bound 的性能问题吧? Sanic 只是解决 I/O bound.
|
14
NoAnyLove 2018-09-12 09:55:51 +08:00
记得在什么地方看了性能测试,不如 Flask,所以感觉没有太大用的必要
|
15
xpresslink 2018-09-12 09:57:58 +08:00
@deepreader 利用多核这个其实目前已经有比较成熟方案,比如用 uWSGI,gunicorn 之类的服务器按核心数开进程就可以了。
|
16
deepreader 2018-09-12 10:08:49 +08:00
@xpresslink 有意思。
|
18
Debiancc 2018-09-13 11:05:12 +08:00
@deepreader 并没有,GIL 是 python 一个全局线程排它锁,你写 python 所有有关 thread 的都是经过 GIL 排他处理过后的线程安全。效率还不如单线程,你可以看看这篇文章 http://cenalulu.github.io/python/gil-in-python/
|
19
deepreader 2018-09-13 11:59:40 +08:00
@Debiancc 噢噢噢我说反了 『移除』 GIL 还是解决还是 multiple core CPU bound 的性能问题吧。
当然移除 GIL 后效率不一定高 |
20
Debiancc 2018-09-13 14:12:46 +08:00
@deepreader 2333,thx
|