项目主页: https://github.com/jiajunhuang/storm
uvloop 真不是一般的快,用 APACHE BENCHMARK 跑分,其中 IOPS :
因为不喜欢 sanic 和 flask 这种函数形式的写法,相比更喜欢 web.py 这种 class 形式的写法,于是自己写了一个玩玩,示例代码为:
import logging
from storm.app import Application
from storm.handler import RequestHandler
class RootHandler(RequestHandler):
def initialize(self):
logging.debug("initialize been called")
async def get(self):
self.write({
"hello": "world"
})
handler_classes = [
(r"/", RootHandler),
]
Application(
handler_clses=handler_classes,
debug=False,
).run()
代码整体上还处于雏形状态,很多影响性能的地方也没有做处理,目前的计划是:
1, 支持更完整的 HTTP 协议
2, 加入对模板的支持
3, 减少对象的消耗,提高性能,争取追平甚至超过 Sanic
1
isombyt 2017-04-24 02:51:56 +08:00
flask: flask.views.MethodView 可以实现示例的功能
sanic: 跟 flask View 一样的原理,搭配 app.route(uri)(MethodView.as_view())也可以实现 不妨试试测下用这方法在 sanic 实现同样的功能的性能如何。另外, sanic 也是支持 uvloop 的。 如果铁了要造轮子硬刚 sanic 的心,只要能实现 WSGI 协议就可以爆 sanic 了。参见 https://github.com/channelcat/sanic/issues/250 IOPS 的跑分真的没有太大参考价值。 |
3
smdx 2017-04-24 10:28:43 +08:00 via Android
牛牛
|
4
crabRunning 2017-04-24 15:06:33 +08:00
先不说 python3.5 是一道无法逾越的坎
|
5
raytlty 2017-07-05 17:20:59 +08:00
大牛
|