38条PHP优化加速方案
来源:互联网 发布:aes算法的加密 编辑:程序博客网 时间:2024/06/10 01:45
1. 尽量采用大量的PHP内置函数。
2. echo 比 print 快。
3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5. 注销那些不用的变量尤其是大数组,以便释放内存。
6.
7.
8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10. 检查是否能用strncasecmp,strpbrk,stripos函数代替正则表达式完成相同功能。
11. str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12. 如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13.
14.
15.
16.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32. 尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
33. 当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
Ex.(举例如下)
if (strlen($foo) < 5) { echo "Foo is too short"; }
vs.(与下面的技巧做比较)
if (!isset($foo{5})) { echo "Foo is too short"; }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。
34. 当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。
35.
36.
37.
38. mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。
- 38条PHP优化加速方案
- 38条 PHP编码优化加速技巧
- 38条PHP编码优化加速技巧
- 38条PHP编码优化加速技巧
- PHP代码优化24条方案
- python 优化加速方案
- php优化加速
- php优化加速
- PHP编码优化加速技巧
- 页面加速的14条优化法则
- 网页加速的14条优化法则
- 网页加速的14条优化法则
- 网页加速的14条优化法则
- 14条网页加速优化规则
- sql优化方案18条
- apache+php+memcached+mysql 访问加速方案
- php代码优化方案
- php优化方案收集
- Android 中UI与耗时操作的分离
- MK文件语法规则
- MatchPuppy:狗狗相亲网站
- 黑马程序员_异常
- 断点续传 下载
- 38条PHP优化加速方案
- [iOS学习笔记] 如何在Xcode 4中修改代码的Copyright信息
- jsp ajax实例讲解
- js中的继承实现
- tel.xls.exe U盘病毒的查杀方法总结
- HDFS命令行操作
- CDatabase::ExecuteSQL()
- 监听控件值的改变
- 进程与线程的区别