主流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 ...
随机推荐
- P2596 [ZJOI2006]书架 && Splay 区间操作(三)
P2596 [ZJOI2006]书架 题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书, ...
- C++ string的那些坑
1. size_type find_first_of( const basic_string &str, size_type index = 0 ); 查找在字符串中第一个与str中的某个字符 ...
- Spring 源码学习(3) —— 增加属性注册编辑器
创建一个实体类UserManager: /** * @filename: UserManager.java * @desc 增加属性编辑器功能测试实体类 * @author: Wang Chinda ...
- AlloyTouch 简介
AlloyTouch 是来自于腾讯AlloyTeam团队开发的一个适用用移动端的js组件库. 特性: 1.丰富的组件 选择组件.级联选择组件.轮播组件.全屏滚动组件.下拉刷新组件.上拉刷新任君选择 2 ...
- 如何在移动端app中应用字体图标icon fonts
How to use icon fonts in your mobile apps 在任何APP设计中实现可图形的矢量缩放最完美的方式是使用字体图标. 移动端的设计变的越来越复杂.原因在于多样的屏幕尺 ...
- python基础===将Flask用于实现Mock-server
from flask import Flask from flask import request, Response, jsonify import random import string app ...
- Linux下如何打开img镜像文件
有些镜像文件为IMG格式,在Linux如何打开呢?例如从微软dreampark下载的Windows Server 2008 R2镜像文件,使用file命令查看: $ file chs_windows_ ...
- Delphi 10 seattle 去掉自带的代码连接线
- URAL题解三
URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆 ...
- jplayer.js 与 video.js
HTML5 - 两款基于JS的视频播放器 都是基于h5 video 标签,如果不支持则会自动转成flash,这里个人比较推荐使用jplayer; 1.video.js pc端有时候会与视频打交道,如果 ...