TP,Lumen,Laravel 的一些性能对比

昨天来提问lumen和laravel的一些替换代价的,然后今天就被老大强制要求用tp改写了3个并发量高的接口,用laravel写代码已经快半年了,这么一来确实有点郁闷,所以干脆lumen和tp全部重写了一下,看看3个框架到底是那个性能最优,一些测试结果如下,首先介绍一下代码,1.数据库少量操作(测试的用例都是缓存好的数据)2.主要是redis的存取操作 3.无session,然后3个框架都是无任何优化处理的
1.用户信息接口

TP,lumen,laravel的一些性能对比
tp,时间在18到23不等,取20

TP,lumen,laravel的一些性能对比
lumen 24-29不等,取26,

TP,lumen,laravel的一些性能对比
laravel 57到65,波动较大,取60
2.库存列表接口

TP,lumen,laravel的一些性能对比
19-23左右 取21

TP,lumen,laravel的一些性能对比
26-32不等 取29

TP,lumen,laravel的一些性能对比
58-67不等,取63

结论 tp执行速度最优,lumen次之,laravel则显得有点慢了,几乎是tp执行时间的3倍了,自己之前也没写过任何高并发的项目,没想到用了这么长时间的框架,还是有很大的优势的,不过代价就是,很代码写的很low,很多的都是调原生的类,估计是专注于精简项目了(composer了最新的tp6代码居然只有2.几m,而lumen也要20几m,laravel则接近了60m),lumen感觉配置花了点功夫,代码几乎是可以无缝迁移的,就是不知道还有没有办法继续优化?比如路由缓存和配置缓存之类的,命令都缺失了,没法优化,如果能和tp打个平手也可以啊

总之,代码的优雅性和执行速度应该是永恒矛盾的话题吧

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 10
Epona

200ms以下都没有任何问题的, 有可能你其他js文件或者css文件加载的时间都比这个长,性能对比你需要看压力测试的, 使用ab 或者 wrk 都可以。 单纯浏览器的话,没意义的。

4年前 评论

TP有一点,版本升级比较麻烦,好几次都不兼容

4年前 评论

TP所有模块都是自己实现的。lar,lumen很多依赖的第三方的库,而第三方库可能会还会在依赖其他库,所以lumen lar会体积较大。 所以TP应该叫轮子全部自己造 lumen lar是轮子的组合工厂

3年前 评论

不能满足的时候,已经是换编译型语言(Java, C++)的时候了

4年前 评论
opcache已开
laravel 
real    0m0.019s
user    0m0.003s
sys    0m0.003s

hyperf
real    0m0.008s
user    0m0.001s
sys    0m0.005s

推荐hyperf, lar用户不需要太多学习成本可以用了

只写接口 用lum比lar好多了

4年前 评论

TP6.0 好像是重写了很多东西;快一点,可能是因为 ,项目不再是模块划分

4年前 评论

@iwzh 对,跟新项目都不容易;

4年前 评论

你忘记swoole了吗? 配上swoole加速,中小型项目里各大框架之间的速度差异可以忽略不计,逻辑代码、带宽、数据库等因素影响比较大

3年前 评论

执行效率可以swoole http加速后再试试!

3年前 评论

你直接用Chrome测试也是很牛逼。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!