PHP相较于其他语言有
1、开发效率快
2、语言本身性能差
这两个方面的特点。
但是普通的PHP网站一般都是I/O密集型的,这类网站的瓶颈在MySql上,体现不出PHP性能的劣势。但现在一些大型的网站如新浪微博,facebook等都在使用PHP,PHP性能的劣势(PHP在密级计算方面比起java、C、C++等静态编译的语言要差几十倍甚至上百倍)就体现出来了。在这种情况下相比于静态编译语言,PHP所编写的程序需要更多的的服务器。
PHP7相较于PHP5其本身的性能有了大幅提高,在使用wordpress测试中,php7的qps是php5的三倍,这无疑是极具价值的。
PHP7 新特性
1、php7版本的函数增加了参数和返回值的类型限定。这对密集计算是一个优化。
2、可以使用try/catch 捕获错误。
PHP7性能优化
1、zval分配栈内存。PHP7以前创建变量时是通过MAKE_STD_ZVAL自动的分配栈内存,现在可以自己分配,这样就减少一次内存分配
2、zend_string 存储hash值,array查询不在需要重复计算hash。PHP7为字符串创建了一个新的类型zend_string,出了char *指针和长度之外,还增加了一个hash字段,用来保存字符串的hash值。数组键值查找不需要反复计算hash值。
3、hashtable内arbucker变为了arData,由多块小内存改为了由一块大内存存储数据。这样减少了内存分配次数,增加了cache命中率和内存访问次数。
4、zend_parse_parameters改为宏实现
5、新增加了四种opcode,call_user_function、is_int/string/array、strlen、define.
6、其他的性能优化