假设一个php脚本在没有调用任何扩展的情况下执行什么样的操作最慢(效率最低)?
回复内容:
IO操作,数据库、网络、文件
PHP语言的执行效率比较大概如下:
(1)最快的部分,是语言结构部分,例如for、foreach等,他们是语言语法的一部分,不是函数,它们的执行效率是最高的。
(2)比较快的,是PHP自带的原生函数和扩展函数,它们采用C语言实现的函数,效率和C程序处于同一个数量级,也是比较快的,例如各类字符串、数组函数。
(3)最慢的,是PHP程序员自己写的PHP函数,它的效率最低。例如,我们自己使用PHP实现的排序算法函数,和原生和扩展的函数相对,会至少慢一个数量级。
因此,大家说PHP不适合做计算密集型的工作,就是指第三点,但是,如果这个工作采用扩展的形式实现,是不会有这个问题。
不过,在实际应用场景,PHP语言执行效率再慢,也远比网络I/O快得多,瓶颈通常都在各种各样的网络传输和后端Server的耗时上。例如,我们读取一次mysql,网络+执行耗时,通常快的话也需要消耗几十毫秒,但是,几十毫秒对于PHP程序执行来说,它可以轻松完成成千上万次的函数调用。
然而,PHP社区其实还在持续改进PHP语言底层和引擎的实现,也进一步优化PHP代码的语言执行效率。例如PHP7,就是革新性质的突破。
访问互联网,IO是硬伤
数据库,数据库,数据库
不适合执行密集运算
数据库
sleep(10086);
题主一颗追求最慢程序的心好生令我敬佩