这个 Web Framework Benchmarks 可靠嘛?Python 貌似比 PHP 弱不少?

2013-09-18 17:14:03 +08:00
 luckyduck
地址: http://www.techempower.com/benchmarks/#section=data-r6&hw=i7&test=query

通过该网站做的一些测试来看,凡是涉及到数据库操作的一些项目,Python都要比PHP弱不少,不知道是不是Mysql驱动不给力的原因,但如果是JSON序列化之类的字符串操作,Python则稍胜PHP。另外有的测试,Python前端都是裸奔的,没有加Nginx,不知道这是不是成绩不理想的一个原因。
4064 次点击
所在节点    Velocity
11 条回复
liuxurong
2013-09-18 17:26:09 +08:00
对。我用Flask和PHP效率就差了10倍。
cctvsmg
2013-09-18 17:33:43 +08:00
谢谢楼主,终于又找到这个网页了
这表格挺专业的
里面有nginx-lua(淘宝的人做的)
排名非常靠前哈哈

这测评恐怕对python不太公平吧
python如果使用pypy
tornado+gevent
我记得并发数是和c++ web server持平的
notedit
2013-09-18 17:40:27 +08:00
php 是一门语言 flask是一个框架 这样比明显不公平
luckyduck
2013-09-18 17:45:18 +08:00
@cctvsmg 这里面好几项都是用了pypy 测试的,Platform那一列有标注,不过可能没搭配gevent。
love
2013-09-18 17:47:32 +08:00
如果都用一个差不多规模的框架的话,php每个请求都要运行一次整个框架,python只需运行请求相关的部分。
luckyduck
2013-09-18 17:48:24 +08:00
@notedit 这里面也有PHP框架的测试,比如 http://www.yafdev.com/http://phalconphp.com/ 它们都比flask排名靠前。
luckyduck
2013-09-18 17:52:23 +08:00
@notedit 不好意思,那两个框架是用C写的PHP扩展,和flask没有可比性。
FrankFang128
2013-09-18 17:53:14 +08:00
跑分有意思?
scourgen
2013-09-18 18:00:52 +08:00
这种测试没什么意义,比如你贴的这个页面,测的是每个框架下访问数据库并且返回JSON字符串这整个过程的速度,但事实上,大部分框架进行数据库处理和JSON字符串转换都是使用的该语言原生的类库和函数,这个过程和你用的是哪种框架是没有什么关系的,比如JSON操作,python框架都会用到核心函数json.dump(),php框架都会用到核心函数json_encode()等等,当然数据库操作也是一样的,不管你用的框架是什么,核心函数和过程都是基本类似的。

所以,这个最核心的处理业务逻辑的过程并不会因为你用的框架不同而有变化。

这个测试其实测的是“框架帮你额外干了别的事情所耗费的时间”,所以“各类功能强大的开发框架名次靠后,但如果直接用开发这个框架的语言速度却很快”就变得能够理解了。最典型就是php,纯php开发的时候性能排第五,但用php开发的symfony2速度却显得不是很快,原因在于symfony2帮你做了很多背后的事情,但你没有意识到所以误认为他很慢。
mywaiting
2013-09-18 18:02:10 +08:00
其他的不说,我只说我熟悉的PHP和Python:

Yaf和phalcon严格来说,不能算是PHP的语言框架,因为它是C的PHP extension形式的。C写的东西,大家都懂的。要不你试试来个Python的C extension。
scourgen
2013-09-18 18:07:46 +08:00
PHP语言发展的时间很久,很多函数都因为历史问题以及和PHP语言本身的弱类型特性做了大量的兼容操作,因为要尽量让各种代码都可以运行,所以只好用性能换兼容性,而在程序的效能上必然会做出一些让步。

Yaf和Phalcon做的事情其实是把本来用php实现的东西转而用C实现,逆转了这个过程,降低了兼容性但换回了速度,以获取性能上的提升。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/82923

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX