• 注册
  • 查看作者
  • MySQL的InnoDB引擎存储千万级数据没有问题,TokuDB引擎存储亿级数据没有问题,而PHP内置MySQL驱动,读写MySQL上的数据自然也是毫无问题,除非你敢说,关系数据库没有前途了,Oracle要破产了.举个例子,腾讯就使用MySQL TokuDB引擎作为logdb(又叫Tlog)存储玩家的流水日志,如登录登出,购买的道具记录等.敢问,你家公司的数据量能比得上腾讯最赚钱的游戏业务么?呵呵.

    至于人工智能,算法不行搞出来的就是人工智障.人工智能拼得是算法,不是拿个语言调调库就能解决现在难以解决的问题的,要不,你用Python+TensorFlow把Google验证码服务reCAPTCHA破了?以子之矛,攻子之盾,打Google的脸,如何?

    除了传统的HTTP应用,如果你要用PHP开发大型实时通讯/网络游戏长连接类应用,那Swoole更是不二之选.

    至于跟Node.js比,Swoole的完备性要高得多,比如:

    Swoole内置异步的HTTP服务器,除了能处理PHP请求,还能处理静态文件(资源存在,直接返回,无需编程),而Node.js默认不行.

    Swoole内置异步的WebSocket服务器,而Node.js则没有,比如需要使用第三方的Socket.IO.同时Swoole也内置了异步的MQTT/TCP/UDP服务器.

    Swoole内置异步的HTTP/Redis/MySQL客户端,而Node.js没有内置或者不好用,比如Node.js的HTTP客户端一般都是用第三方的request.

    Swoole内置心跳检测和日志记录等功能,开发者无需编程,只需传入配置项即可使用,而Node.js当然也没有.

    Swoole内置reactor多线程,worker多进程,task多进程的实现和架构,而Node.js默认没有,需要开发者自行使用cluster多进程模块编程.

    Swoole在事件回调函数里可以使用PHP的require实现局部热部署,开发时修改代码不需要重启就能生效,而Node.js不行,需要一些第三方工具比如PM2自动重启服务来完成.

    Swoole不用框架就能快速开发,Node.js不用框架,做个上传功能都很蛋疼.

    生成一个包含100万个元素的关联数组(字典/映射),PHP7的耗时仅为Node7的1/3,就连PHP5都比Node7要快.测试内容主要包含时间戳获取,字符串拼接,关联数组生成这几个开发中经常用到的操作.注:把Object换成Map(ES6)后,Node仍然比PHP5.4慢,更别提跟PHP7比了.

    链接
    Node.js在功能和性能上都完败于PHP7+Swoole,还敢言勇?

    关羽斩华雄,一杯酒的功夫都不用.

    php执行什么样的操作最慢?

    PHP语言的执行效率比较大概如下:
    (1)最快的部分,是语言结构部分,例如for、foreach等,他们是语言语法的一部分,不是函数,它们的执行效率是最高的。
    (2)比较快的,是PHP自带的原生函数和扩展函数,它们采用C语言实现的函数,效率和C程序处于同一个数量级,也是比较快的,例如各类字符串、数组函数。
    (3)最慢的,是PHP程序员自己写的PHP函数,它的效率最低。例如,我们自己使用PHP实现的排序算法函数,和原生和扩展的函数相对,会至少慢一个数量级。

    因此,大家说PHP不适合做计算密集型的工作,就是指第三点,但是,如果这个工作采用扩展的形式实现,是不会有这个问题。

    不过,在实际应用场景,PHP语言执行效率再慢,也远比网络I/O快得多,瓶颈通常都在各种各样的网络传输和后端Server的耗时上。例如,我们读取一次mysql,网络+执行耗时,通常快的话也需要消耗几十毫秒,但是,几十毫秒对于PHP程序执行来说,它可以轻松完成成千上万次的函数调用。

    然而,PHP社区其实还在持续改进PHP语言底层和引擎的实现,也进一步优化PHP代码的语言执行效率。例如PHP7,就是革新性质的突破。

  • 3
  • 0
  • 0
  • 6.9k
  • 倩哥♡梁兴建神一样的存在

    请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 返回顶部
  • 单栏布局 侧栏位置: