主流PHP框架性能评测 (引用)
主要涉及到的框架有
CodeIgniter 老品牌易用性框架
yaf 鸟哥用c写的php扩展,高性能框架
yii 自动生成代码(gii)
laravel 号称最优雅的框架
swoole framework 支持swoole扩展的框架
kohana 脱身与CI 2,基于hmvc模式的框架
thinkphp 国产易用工具
自定义框架(只提供route、autoload、db、redis、mvc、config及其他常见类库封装)
以上框架使用的均为最新版本
评测方式
考虑到公司级别项目开发,需要把框架独立到某目录下,其他项目的入口文件统一读取此目录内的框架资源
controller中再入view并传递title,view中直接echo $title,关闭debug等其他调试开关
siege -c 500 -t 5s 并发500持续5s
php7环境下,2.5GHZi7 16G内存
性能
毫无疑问鸟哥的yaf最高
自定义框架由于极少的代码量,表现也很好,做不得数
其次是rango老大的swoole framework
之后是CI>thinkphp>kohana>yii>laravel
由于我对yii并不熟悉,如有优化点请告知重新进行评测
安装
ci和kohana使用的还是熟悉的安装方式,解压zip,安装使用起来毫无问题
yaf使用phpize安装也毫无难度
关于YII 2,让我惊讶无比,不得不拿出来单独说一下
安装 深深的感觉自己的智商已欠费
1. 官网推荐composer安装一个basic版,由于国内环境,时间过长,附带一堆乱七八糟的东西看着烦
2. 抽出独立的yii-soft失败,提示错误,暂时未找到解决方案(最后发现是layout的问题,已解决)
3. basic版本安装完成后给我看你的那么复杂的欢迎页是几个意思?
4. 我改了controller和view,为什么还被侵入了你的样式(后查推测跟view中的layout目录有关,查文档得知需要手动layout=false)
5. layout关了为什么压测性能下降了那么多
关于框架的思考
通过这些年的工作和项目经验,我认为框架只要提供好几个功能点就足够了
1. autoload
2. dev/pro分离(包括config自动载入不同目录下)
3. mvc(不需要所谓的Smarty等模板引擎,php语法足够优秀易懂)
4. db/redis/orm(ORM可以实现读写分离,锦上添花而已,毕竟有中间层可以更专业的解决这个问题)
5. router
有大神指点,还需要di、面向接口实现类、完整的单元测试
像脚手架一类的东西,真的是框架该做的么?就算提供了,公司级别的项目又是否用得到,是否敢信任框架帮你生成的代码。
基于上述思考,我才自己开发了simple框架(git:https://github.com/bingxuecandong/simple/tree/new_simple 欢迎提供建议及吐槽),提供自己日常编码、项目使用已经足够,开发效率并不低,跟其他主流开源框架一起评测也是聊以慰藉了。
主流PHP框架性能评测 (引用)的更多相关文章
- TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱
自从2021年2月第20轮公布的测试以后,一年半后 的2022年7月19日 发布了 TechEmpower 21轮测试报告:Round 21 results - TechEmpower Framewo ...
- Mego(1) - NET中主流ORM框架性能对比
从刚刚开始接触ORM到现在已有超过八年时间,用过了不少ORM框架也了解了不少ORM框架,看过N种关于ORM框架的相关资料与评论,各种言论让人很难选择.在ORM的众多问题中最突出的问题是关于性能方面的问 ...
- 开源RPC(gRPC/Thrift)框架性能评测
海量互联网业务系统只能依赖分布式架构来解决,而分布式开发的基石则是RPC:本文主要针对两个开源的RPC框架(gRPC. Apache Thrift),以及配合GoLang.C++两个开发语言进行性能对 ...
- OneAPM大讲堂 | 谁更快?JavaScript 框架性能评测
文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 网页性能是一个丰富且又复杂的话题.在本帖中,我们会将讨论的范围局限在前端 JavaScript 框架上,探究相对于另外一种框架而言 ...
- TechEmpower Web 框架性能第19轮测试结果正式发布,ASP.NET Core在主流框架中拔得头筹
TechEmpower 第19轮编程语言框架性能排行榜2020年5月28日正式发布,详见官方博客:https://www.techempower.com/blog/2020/05/28/framewo ...
- EntityFramework、Dapper vs 草根框架性能大比拼,数据库访问哪家强?
扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 EntityFramework 和 NHibernate,还有一些出自草根之 ...
- EntityFramework、Dapper vs 草根框架性能
EntityFramework.Dapper vs 草根框架性能 扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 Entit ...
- 几款主流PHP框架的优缺点评比
PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...
- C#脚本引擎 CS-Script 之(二)——性能评测
以下以一个简单的HelloWord程序为例,来分析csscript脚本引擎的性能. class HelloWorld { public void SayHello() { Console.WriteL ...
随机推荐
- 微信小程序,页面分享
onShareAppMessage: function () { return { title: '微信小程序联盟', desc: '最具人气的小程序开发联盟!', path: '/page/user ...
- ROC 曲线/准确率、覆盖率(召回)、命中率、Specificity(负例的覆盖率)
欢迎关注博主主页,学习python视频资源 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.ht ...
- Tensorflow BatchNormalization详解:3_使用tf.layers高级函数来构建带有BatchNormalization的神经网络
Batch Normalization: 使用tf.layers高级函数来构建带有Batch Normalization的神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴 ...
- 解决html设置height:100%无效的问题
通常我们需要让自己的网页内容能够更好的适配各种屏幕大小,会采用height:100%,但是我们发现问题出来了,height:100%无效,其实解决办法很简单 解决:你只需要在css处添加上html, ...
- SQL Server 高级SQL
查询view 的列和列数据类型 SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'vi ...
- 51Nod - 1127 最短的包含字符串
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度.如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution. Inp ...
- 2017ACM暑期多校联合训练 - Team 8 1006 HDU 6138 Fleet of the Eternal Throne (字符串处理 AC自动机)
题目链接 Problem Description The Eternal Fleet was built many centuries ago before the time of Valkorion ...
- HDU 1214 圆桌会议 (找规律)
题目链接 Problem Description HDU ACM集训队的队员在暑假集训时经常要讨论自己在做题中遇到的问题.每当面临自己解决不了的问题时,他们就会围坐在一张圆形的桌子旁进行交流,经过大家 ...
- ASP.NET EF 使用LinqPad 快速学习Linq
使用LinqPad这个工具可以很快学习并掌握linq[Language Integrated Query] linqPad官方下载地址:http://www.linqpad.net/ linqPad4 ...
- php菜刀分析学习
这里以eval为例 我们知道, php中的eval能把字符串当代码执行: eval('phpcode'); 注意, 这里的代码要有分号结尾, 我们测试: 我们创建一个最简单的SHELL: <?p ...