勤奋 – 创新 – 矢志不渝 – 锲而不舍
Performance
PHP clone 复制对象 优化对象创建速度
23 years ago
用 clone 结构来复制一个对象。
PHP 的对象赋值,默认是引用传递。
如果需要一个对象的副本,只能用 clone。
从性能上考虑,当在一个循环中需要反复创建一个新对象的时候,可以考虑在外层创建,在循环内层用 clone 来复制对象。这样性能将会得到很大提高。
这里有实地测试的代码和测试结果可以参考:
引用一下结论:
仅仅是这么简单的一个对象,创建与克隆,性能差距就达到5至6倍,时间消耗已经不在一个数量级上了。
PHP 函数调用的开销
23 years ago
处理大量数据,每个关键词有5000条数据,一共有50万个关键词。
要对每个关键词的每条数据进行加权处理。
写了一个加权函数,作为一个类的静态方法。
遍历这50万个关键词的数据,结果非常慢。
考虑问题原因,尝试把加权函数的逻辑拆出来,放到大循环中。
写了测试代码,结果性能提升非常明显。
调用类的静态方法,程序性能是 156 次/秒,而拆出逻辑,直接运行,性能是 625 次/秒!
速度是原来的 4 倍多!
