119. PHP 性能问题(2)
2016-09-03 23:18
155 查看
1.语言性能优化
bad.php
good.php
用 ab 压测
2. PHP 代码运行流程
3.PHP 内置函数的优劣
4.尽量少用魔法函数
bad.php
<?php $array_1 = array(); $array_2 = array(); for ($i=0;$i<rand(1000,2000);$i++){ $array_1[] = rand(); } for ($i=0; $i<rand(1000,2000); $i++) { $array_2[] = rand(); } $array_merged = array(); foreach ($array_1 as $v) { $array_merged = $v; } foreach ($array_2 as $v) { if (!in_array($v,$array_merged)) { $array_merged[] = $v; } } var_dump($array_1,$array_2,$array_merged);
good.php
<?php $array_1 = $array_2 = range(1000,2000); shuffle($array_1); shuffle($array_2); $array_merged = array_merge($array_1,$array_2); var_dump($array_1,$array_2,$array_merged)
用 ab 压测
2. PHP 代码运行流程
用 PHP 内置函数,scanner 扫描的行数就少了很多,而且 zend 引擎容易理解,perser 成 cpcode 更少。 phalcon 现在更多的去缓存 opcode
3.PHP 内置函数的优劣
<?php $start = current_time(); $i = 0; $arr = range(1,200000); while ($i<200000) { ++$i; // 两个内置函数实现同样的功能 isset($arr[$i]); //array_key_exists($i,$arr); } $end = current_time(); echo "Load Time :" . number_format($end - $start,3) * 1000; function current_time() { list($usec,$sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); }
4.尽量少用魔法函数
<?php function currency_time() { list($usec,$sec) = explode(' ',microtime()); return (float)$sec + (float)$usec; } $start = currency_time(); class Test { // private $var = '123'; public $var = '123'; /*public function __get($varname) { return $this->var; }*/ } $i = 0; while ($i<100000) { $i++; $test = new Test(); $test->var; } $end = currency_time(); echo ($end-$start)*1000;
相关文章推荐
- PHP性能问题 总结
- 遭遇php的in_array低性能问题
- 善用php-fpm的慢执行日志slow log,分析php性能问题
- PHP性能调优,PHP慢日志---善用php-fpm的慢执行日志slow log,分析php性能问题
- php中使用memcached的性能问题
- 善用php-fpm的慢执行日志slow log,分析php性能问题
- 善用php-fpm的慢执行日志slow log,分析php性能问题
- php的in_array低性能问题
- php性能问题分析工具
- 善用php-fpm的慢执行日志slow log,分析php性能问题
- 122. PHP 性能问题(3)
- 运维不再专业救火 不会PHP照样找出代码性能问题
- 遭遇php的in_array低性能问题
- IIS+PHP访问量大时内存爆满等性能问题解决方案
- 遭遇php的in_array低性能问题
- 解决php的session异步请求堵塞问题(采用xhprof性能分析)
- php in_array的性能问题,附加调试方法
- php中使用memcache扩展的性能问题
- PHP strtotime 性能问题
- PHP保持SESSION问题以及由SESSION性能引发的一些思考