老外做得php框架性能测试

本文对比了多种PHP框架在不同环境下的性能表现,包括CPU、内存使用、响应时间等关键指标,通过Apache Benchmark和系统负载平均数进行评估。

Case

Test Simple "Hello World" page output, Simple MVC logic(Router -> Controller -> Viewer), No Database Connections, No complex logic.

Hardware platform
CPU: Intel Core i5 750 (2.67GHz x4)
RAM: 4GB

Software Environment

Debian 6.0.4 x86_64 (2.6.32-41)

apache 2.2.16 (mpm-prefork,mod-php5)

php 5.3.10
php-apc 3.1.9 (Optimization for include/require)

Copy all projects to /dev/shm/* (Optimization for files read/write)

Frameworks list

* zf: Zend Framework
Site: http://framework.zend.com
Ver: 1.11.11

* zf2: Zend Framework
Site: http://framework.zend.com
Site: https://github.com/zendframework/ZendSkeletonApplication
Ver: 2.0.0-beta1

* symfony: symfony
Site: http://www.symfony-project.org
Ver: 2.0.0

* cakephp: CakePHP
Site: http://cakephp.org
Ver: 2.0.4

* ci: CodeIgniter
Site: http://codeigniter.com
Ver: 2.1.0

* yii: Yii Framework
Site: http://www.yiiframework.com
Ver: 1.1.8

* micromvc4: MicroMVC
Site: http://www.micromvc.com
Ver: 4.0.0

* laravel: Laravel, A PHP Framework For Web Artisans
Site: http://laravel.com
Ver: 2.0.2

* slim: Slim Framework
Site: http://www.slimframework.com
Ver: 1.5.0

* yaf: Yet Another Framework in PHP Extension
Site: http://code.google.com/p/yafphp
Ver: 2.1.3-beta (yaf.cache_config=1)

* FuelPHP: Simple, Flexible, Community driven Web Framework
Site: http://fuelphp.com/
Ver: 1.1

* ColaPHP:
Site: http://code.google.com/p/colaphp/
Ver: 1.2-ga

# XHProf: A Hierarchical Profiler for PHP
Site: http://pecl.php.net/xhprof
Ver: 0.9.2

# The source code of this testing:
Source: https://github.com/eryx/php-framework-benchmark

1. Apache Benchmark

Requests pre second (-c 100 -n 30000), the bigger is better

Requests pre second (-c 200 -n 50000), the bigger is better

2. System LoadAvg
System LoadAvg in 1 Minute when Apache Benchmark Complete,
the smaller is better (-c 100 -n 30000)

3. Memory usage
How many memory usage in one "hello world" page. the smaller is better.

4. Response time
The time of page request to response.

5. Number of function calls (Facebook XHProf)
The number of functions calls in one "hello world" page.

The detail of function calls map

Symfony2Zend Framework 1.11.1
Zend Framework 2.0.0-beta1CakePHP 2.0.4
CodeIgniter 2.1.0Yii Framework 1.1.8
Slim 1.5Laravel 2.0.2
MicroMVC 4.0.0Yaf 2.1.3-beta
FuelPHP 1.1ColaPHP 1.2

6. Number of Files
The number of files included or required in one "hello world" page. the smaller is better.

Changelog:
* v20111201 @2011-12-01
- release

* v20111201-2 @2011-12-05
- bugfix: Fix a stupid logic error in bench.php
- bugfix: Symfony2, Change running mode from 'dev' to 'prod'

* v20111201-3 @2012-02-29
- New: new frameworks added: fuelphp, colaphp

* v20111201-4 @2012-05-18
- Optimized configuration for symfony2 (Commit By https://github.com/Smart-Core)
Patch https://github.com/eryx/php-framework-benchmark/pull/2

--EOF--

LabVIEW是一个非常强大的、全面的、图形化的编程语言和编程环境,主要用于控制系统、测试测量、数据采集和分析。由于独特的图形化编程方式,“老外”看到LabVIEW代码框架可能与传统的编程语言有所不同。 在LabVIEW中,程序被表示成一个数据流图,也称为VI(虚拟仪器)。每个VI包含一个用于控制程序流程的前导程序和一个后续程序,序列结构确定了操作执行的顺序,同时数据流对程序的执行方式也有很大影响。 在编写LabVIEW代码时,首先需要考虑的是程序的整体架构,即程序的输入与输出,以及数据类型和数据格式。然后,根据设计要求选择相应的控件和函数库,并将它们组合成一个VI。 程序流程的控制主要通过不同类型的结构完成,如条件结构、循环结构和事件结构等。此外,LabVIEW还使用图形化面板来显示和调节程序执行过程中的输入参数和输出结果。 需要注意的是,LabVIEW中的代码框架与传统的编程语言有所不同,对于不熟悉的人来说,其可视化界面可能更加直观和易于理解。因此,在设计和编写LabVIEW程序时,要根据特定的应用需求和功能要求考虑它的可读性和可维护性,以方便其他程序员进行修改和维护。 总之,了解LabVIEW的编程框架是非常重要的,这将有助于正确地设计和编写程序,并使其易于理解、可读性强、流程清晰、易于维护。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值