测试两个框架的效率。逻辑相同,都是map “/“ to handler,然后这个handler里render template index.html (继承自base.html),渲染模版都是用jinja2
web.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import web from web.contrib import template
render = template.render_jinja("/templates", encoding="utf-8")
urls = ( '/', 'index' )
class index: def GET(self): return render.index()
app = web.application(urls, globals()) application = app.wsgifunc()
|
Flask
1 2 3 4 5 6 7 8 9
| from flask import Flask from flask import render_template app = Flask(__name__)
@app.route('/') def index(): return render_template("index.html")
application = app
|
测试
本次配置Nginx + uWSGI,然后用ab压测:ab -c 100 -n 200 http://localhost:8080/
结果:
- web.py: 550 requests / sec
- flask: 1200 requests / sec
这速度差一倍!web.py这么坑吗。。。