Web.py vs Flask (render template)

测试两个框架的效率。逻辑相同,都是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这么坑吗。。。