20个PHP程序性能优化的方法
1.数据库连接当使用完毕时应当关闭,不要使用长连接。
2.用@屏蔽错误消息的做法非常低效,极其低效。
3.使用选择分支语句(switch case)好于使用多个if,else if。
4.$row['id'] 的速度是$row[id]的 7 倍。
5.如果能将类的方法定义成static,尽量定义成static,速度会提升很多。
6.在不影响结果的前提下,用单引号代替双引号引用字符串。
7.“用 i+=1 代替 i=i+1。符合 c/c++的习惯,效率还高”。
8.require_once比较耗资源,因为需要判断文件是否被引用过,,所以能不用尽量不用。常用require/include方法避免。
9.优化selectSQL语句,在可能的情况下尽量少的使用Insert,Update操作。
10.尽可能的使用PHP内部函数。
11.foreach效率更高,尽量使用foreach替代while和for循环。
12.对global变量,应该用完就unset()掉。
13.注销那些不用的变量尤其是大数组,以便释放内存。
14.并非要用类实现所有的数据结构,数组也很有用。
15.多维数组尽量不要循环嵌套赋值。
16.循环内部不要声明变量,尤其是大变量:对象.
17.错误消息代价昂贵。
18.打开apache的mod_deflate模块,可以提高网页的浏览速度。
19.派生类中的方法运行起来要快于在基类中定义的同样的方法。
20.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
20个PHP程序性能优化的方法的更多相关文章
- 50个PHP程序性能优化的方法
1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的" ...
- 50个php程序性能优化的方法,赶紧收藏吧!
1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的“函数”(译 ...
- C++ 应用程序性能优化
C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...
- [JAVA] java程序性能优化
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...
- [转]C#程序性能优化
C#程序性能优化 1.显式注册的EvenHandler要显式注销以避免内存泄漏 将一个成员方法注册到某个对象的事件会造成后者持有前者的引用.在事件注销之前,前者不会被垃圾回收. private v ...
- iOS程序性能优化
iOS程序性能优化 一.初级 使用ARC进行内存管理 在iOS5发布的ARC,它解决了最常见的内存泄露问题.但是值得注意的是,ARC并不能避免所有的内存泄露.使用ARC之后,工程中可能还会有内存泄露, ...
- [python]用profile协助程序性能优化
转自:http://blog.csdn.net/gzlaiyonghao/article/details/1483728 本文最初发表于恋花蝶的博客http://blog.csdn.net/lanph ...
- iOS 程序性能优化
前言 转载自:http://www.samirchen.com/ios-performance-optimization/ 程序性能优化不应该是一件放在功能完成之后的事,对性能的概念应该从我们一开始写 ...
- 微信小程序性能优化技巧
摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...
随机推荐
- Anaconda快速加载opencv
刚刚发现了两种Anaconda快速加载opencv的方法,亲测有效: 第一种: 直接在Navigator Environment 中搜opencv 如果搜不到,登陆Anaconda Cloud官网 h ...
- 网络中可以引用的jquery库
网络项目可以直接引用这个jquery库 <script src="http://www.codefans.net/ajaxjs/jquery-1.4.2.min.js"> ...
- 20155202 2016-2017-2 《Java程序设计》第1周学习总结
20155202 2016-2017-2 <Java程序设计>第1周学习总结 考核方式于成绩构成 100分构成 翻转课堂考核12次(5*12 = 60):每次考试20-30道题目,考试 ...
- stardict词库
http://download.huzheng.org/zh_CN/ sudo tar -jxvf * -C /usr/share/stardict/dic
- 覆盖Django mysql model中save方法时碰到的一个数据库更新延迟问题
最近有一个需求,通过django的admin后台,可以人工配置5张表的数据,这些数据进行一些业务规则处理后会统一成一份数据缓存在一个cache之中供服务端业务访问,因而任何一张表的数据更新(增.删.改 ...
- POJ1035_Spell checker_KEY
题目传送门 一道暴力可以过的水题.(直接暴力模拟的那种) 但是我打Trie练练模板,但是TMD因为数组开太小卡了好久. code: #include <cstdio> #include & ...
- python实现socket通信
python实现socket很简单,保证你的环境有响应的python环境就可以,我使用的是socket,demo代码如下: server端程序: # coding:utf-8 import socke ...
- LUA中点号和冒号的区别
Student = {}; Student.__index = Student; function Student:new(name, age) local temp = {}; setmetatab ...
- abp 指定方法不生成api
方法上面添加RemoteServiceAttribute特性
- Google Chrome插件分享
前言 浏览器是大家日常使用最多的工具之一,对于程序员来说,Google Chrome浏览器当然是大家优选的最爱之一.面对Chrome丰富的插件真的是爱不释手,如何把自己的Chrome调教成自己心仪的样 ...