V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuwenmang
V2EX  ›  PHP

PHP7( phpng)的性能,正式版会不会秒了其他脚本语言?

  •  1
     
  •   xuwenmang · 2015-01-11 08:36:53 +08:00 · 18133 次点击
    这是一个创建于 3605 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直想学runy、python,node.js但是正式用到机会不多。
    所以一直就看看语法就放弃了。一直没深入。没深入学,其实跟没学一样,几个月看看语法,扔了,过几个月又想学,又看看语法,又扔了。
    听说PHP7性能太牛B后,更让我懒得深入了。。但是好像不会点小众语言,就好像不上档次一样。一直想深入学,一直被打消念头。怎么样才能破这个局呢?
    65 条回复    2017-09-08 16:48:13 +08:00
    WildCat
        1
    WildCat  
       2015-01-11 08:42:06 +08:00 via iPhone
    1. 最新版才 5.6 ,7 在哪?
    2. PHP 除了写 web ,其他领域被你说的其他 3 个语言完爆
    3. runy -> Ruby
    4. 来这里问,标准答案一定是 Python
    bcxx
        2
    bcxx  
       2015-01-11 08:45:46 +08:00   ❤️ 1
    @WildCat 7 预计今年就会出了……(6 没了) https://wiki.php.net/rfc/php7timeline

    但是楼主这论点…… 哈哈哈哈金币拿好!(file_get_contents 准备好!)
    nbndco
        3
    nbndco  
       2015-01-11 08:59:43 +08:00 via iPhone
    php秒其他脚本语言,真是醉了。
    initialdp
        4
    initialdp  
       2015-01-11 09:01:09 +08:00
    这年头已经没有什么语言能秒掉其他语言了。

    不管是什么,沉下心来学习一个好了。
    neone
        5
    neone  
       2015-01-11 09:02:06 +08:00 via iPhone
    由于6的规划在5里面实现了,所以新版本是7。
    hjc4869
        6
    hjc4869  
       2015-01-11 09:06:49 +08:00 via iPhone   ❤️ 1
    ASP.NET 4.5性能爆了你们这些脚本语言
    因为它是静态的,而且还是async的
    楼主学不?
    zts1993
        7
    zts1993  
       2015-01-11 09:08:41 +08:00 via Android
    @hjc4869 c#是个好语言,.net还是算了吧
    zts1993
        8
    zts1993  
       2015-01-11 09:09:59 +08:00 via Android
    先学着,学着学着你就发现php的捉急之处了。
    这里的人都会教你学python
    hellov22ex
        9
    hellov22ex  
       2015-01-11 09:13:31 +08:00
    汇编易语言表示不服
    hjc4869
        10
    hjc4869  
       2015-01-11 09:14:09 +08:00 via iPhone
    @zts1993 .NET没啥不好的。
    至少不能拿来跟世界上最好的语言,还有python什么的比。。
    Java倒是还在讨论范围内,不过就语言来看,用惯了C#的人还能学Java吗……
    kavinyao
        11
    kavinyao  
       2015-01-11 09:20:53 +08:00   ❤️ 4
    最近V2EX上面没营养的帖子真是越来越多了,block之前我就认真地吐个槽吧。

    > PHP7( phpng)的性能,正式版会不会秒了其他脚本语言?

    和其他脚本语言比没有大多意义,因为应用场景不同。你不会用PHP像Python那样写系统管理脚本,也不会用PHP跑Rails。

    更有意义的,是和其他PHP版本的纵向比较。具体结果可Google: http://lmgtfy.com/?q=phpng+benchmark

    > 一直想学runy、python,node.js但是正式用到机会不多。

    一定要正式用才能逼自己学吗?

    Ruby都拼不对。

    > 所以一直就看看语法就放弃了。一直没深入。

    就算是学习语法,光看是没用的,更重要的是做。

    至于深入,学习语言的第一步是写出没有语法错误、可以完成任务的程序。一步登天想第一天就100% best practice是不可能的,瘦子吃不成胖子。至于更加深入的,比如语言的内部实现,我觉得90%的情况下即使你不去了解,问题也不大。也有小概率的情况的确碰到坑了,那么认真去挖一下坑,收获也会很大。

    > 没深入学,其实跟没学一样,几个月看看语法,扔了,过几个月又想学,又看看语法,又扔了。

    没什入学不代表跟没学一样,能用、增加了知识就能体现学习的价值。比如我学Haskell,书就看了几章,很多很高深的概念都不懂,但这不影响我欣赏Haskell,也开阔了我在FP方面的知识面。

    你就是懒,没恒心。

    > 听说PHP7性能太牛B后,更让我懒得深入了。。

    不是很理解这个逻辑。

    > 但是好像不会点小众语言,就好像不上档次一样。

    1. PHP不是小众语言。
    2. “上档次”如何定义?能吃吗?

    > 一直想深入学,一直被打消念头。怎么样才能破这个局呢?

    1. (optional) 读点心灵鸡汤,打点鸡血
    2. 静下心来学,写点程序练
    roys
        12
    roys  
       2015-01-11 09:31:35 +08:00
    感同身受,和楼主一样的处境。
    工作的时候用不到就很难继续下去,还有花心思学其它的时候很容易把php拉下。有时候还有种得不偿失的感觉。
    我想要学其它语言还是的碰运气,看公司的需求。
    zts1993
        13
    zts1993  
       2015-01-11 09:44:11 +08:00
    @hjc4869 学java 实习c#,明年工作还是java相关,是不是很分裂
    yakczh
        14
    yakczh  
       2015-01-11 10:22:59 +08:00
    pypy的性能秒了C ,赶紧学python吧
    tabris17
        15
    tabris17  
       2015-01-11 10:30:34 +08:00
    应该可以做掉HHVM什么的。但是其他应用领域仍然敌不过python,ruby我看还是算了吧
    sigone
        16
    sigone  
       2015-01-11 10:32:17 +08:00 via Android
    “秒” =#
    tabris17
        17
    tabris17  
       2015-01-11 10:32:24 +08:00
    PHP7如果支持协程,并且内置一个稳定高效的HTTP服务的话,应该可以做掉Node.js
    xoxo
        18
    xoxo  
       2015-01-11 10:39:05 +08:00
    如果OK的话,那我大PHPer们薪资指日可涨了
    skybr
        19
    skybr  
       2015-01-11 10:48:47 +08:00
    @tabris17

    想都不要想, Node在web长链接这环的生态链是做起来了, 基本就是事实标准了,Go、Python、Ruby的协程支持都挺好的,克隆或者类似Socket.js和SockJS项目也挺多, 有几个是堪用的?
    tabris17
        20
    tabris17  
       2015-01-11 10:53:19 +08:00
    @skybr 刻板印象而已。PHP有个使用libevent实现类似Node.js功能的框架,性能也很不错,只是大家刻板印象中觉得PHP不是干这个的,用的人少而已
    skybr
        21
    skybr  
       2015-01-11 10:59:52 +08:00
    @tabris17 你还是没看懂我的话, php支持协程和异步socket又能怎么样? 其他支持了"几百年"的语言目前哪个类Socket.IO/SockJS项目能到Socket.IO和SockJS的可用度的? 纯克隆的能及时跟进协议的都基本找不到。
    skybr
        22
    skybr  
       2015-01-11 11:13:50 +08:00   ❤️ 1
    另外再说说PHPNG。

    提到PHPNG不得不说其死拼跑分的HHVM了。

    HHVM提升的是运算, 对于传统C库调用和字符串操作并且以CRUD为主的主流PHP中小站点应用场景性能提升并大太大。

    实际项目里性能提升是有的, 但是别指望太大。

    不是我泼冷水啊, 当年Zend 2引擎也是跑分牛逼哄哄, 但是真能凭人的感觉能体验出性能差距, php4也不至于在大小站点里超期服役那么久了。
    skybr
        23
    skybr  
       2015-01-11 11:14:43 +08:00
    "对于传统C库调用和字符串操作并且以CRUD为主的主流PHP中小站点应用场景性能提升并大太大。"

    应为

    "对于传统C库调用和字符串操作并且以CRUD为主的主流PHP中小站点应用场景性能提升并不太大。"
    kisshere
        24
    kisshere  
       2015-01-11 11:31:40 +08:00 via Android   ❤️ 1
    楼上的,有了MySQL这个瓶颈在那,关PHP鸟事
    fullstack0xyz
        25
    fullstack0xyz  
       2015-01-11 11:37:33 +08:00
    PHP7说是今年10月发布吧,多关注鸟哥微博
    aszxqw
        26
    aszxqw  
       2015-01-11 11:44:42 +08:00
    @kisshere 哈哈哈哈哈哈,最佳回答。
    zjgood
        27
    zjgood  
       2015-01-11 11:48:03 +08:00 via Android
    @WildCat 以前是PHP5.7,现在编译出来版本号就是7了
    popoge
        28
    popoge  
       2015-01-11 11:51:30 +08:00 via Android
    Php是主流的web开发语言,从实用角度出发,php应用的性能不单单是看语言,算法,数据结构,数据库的设计,操作系统优化,服务器优化对整体性能造成的影响都是不可忽略的,如果从语言角度看,这样的对比一点意义也没有,这只是给自己懒惰找借口,不是用性能好的语言你就能写出性能高效的程序,有没有档次不是语言决定的,而是你写得代码所决定你的水平高低,楼主那么喜欢比档次,比性能,就去学机器语言吧
    tabris17
        29
    tabris17  
       2015-01-11 11:53:46 +08:00
    @skybr 无非是开发社区活跃度的问题,Nodejs只是生得逢时罢了。PHP如果有这方面的内置支持,社区活跃度只是个时间问题
    skybr
        30
    skybr  
       2015-01-11 11:56:51 +08:00
    @kisshere 对啊, backend的瓶颈对于不同语言或者同一语言的不同实现几乎是一致的(php5以来, php官方的mysql扩展算是主流语言里性能最好的, MariaDB那个支持异步回调接口的mysqlclient实现部分代码就是来自php的mysqlnd库), 字符串操作的性能提升又没多少, 那所谓几倍几倍的(数值运算)提升对以CRUD为主的主流php应用场景来说能有多大改进?
    loading
        31
    loading  
       2015-01-11 11:58:16 +08:00 via Android
    go
    skybr
        32
    skybr  
       2015-01-11 12:00:17 +08:00
    @tabris17 php社区齐了心往一块儿使的项目有几个?
    tabris17
        33
    tabris17  
       2015-01-11 12:06:29 +08:00
    @skybr 所以啊,只要PHP能以reactor模式运行的话就能打破原有瓶颈了。

    以前因为PHP有内存泄漏以及稳定性不佳只能以cgi方式运行,但是想想python这货也有内存泄漏,他的web框架不一样以server方式运行的么。
    rcmerci
        34
    rcmerci  
       2015-01-11 12:26:23 +08:00
    学了这么多小众语言,依然过不好这一生
    skybr
        35
    skybr  
       2015-01-11 12:32:06 +08:00
    @tabris17

    php不是以cgi模式跑的, mod_php和php-fpm同样是容器, 只是userspace的php代码只相当于其他语言常规web运行模式下的handler, php同样有内存泄漏, 只是相对一点, 不过话说回来, Ruby 1.8甚至REE的内存泄漏才厉害呢, github和twitter不照样做了起来, 除了Node以外, 长链接的通用解决方案里也就有Ruby实现的Faye相对好一点吧?

    我觉得你的自信是建立在于PHP社区的盲信上, 但PHP主流社区这十来年来干的事就是上行下效的打破计划, 劫持技术, 各自为政, 比如看看十年前的php6计划和当下, 有几个是照着做的? 还有各个山头的php框架, 这就不表了, 我记得前几天有个帖子是file_get_contents直读zip下文件的, 乍看很美啊, 但是实际操作起来谁会写这种代码? 不判断权限? 不判断zip存在? 不判断zip下文件是否存在? 倒是操作大部分压缩文件的libarchve库, 主流语言里就php一家是没有堪用的绑定, php甚至连lua都有的ffi绑定都没有, 匮乏至此, 对PHP社区在真正有用的东西上的能量抱有任何希望都会幻灭的。
    wwqgtxx
        36
    wwqgtxx  
       2015-01-11 12:33:39 +08:00 via Android
    在一个用python写的社区中藐视python?

    其实任何一中语言都有存在的主要用途,python常常用了直接做server,php用来cgi(fastcgi),不存在谁秒了谁
    java这么多年,黑的人一大片,还不是用的好好的?
    c都古董了,程序员还是一抓一大片
    你要是觉得php好用就坚持到低呗,没必要黑其它语言
    tabris17
        37
    tabris17  
       2015-01-11 12:45:41 +08:00
    @skybr 无论是php_mod或是php-fpm或是以前的IIS ISAPI都是换汤不换药的CGI方式——每进/线程同时只能处理一个请求
    yakczh
        38
    yakczh  
       2015-01-11 12:50:28 +08:00
    php就是cgi 不论是fast cgi还是slow cgi
    invite
        39
    invite  
       2015-01-11 12:59:16 +08:00
    语言的性能,都是浮云.
    konakona
        40
    konakona  
       2015-01-11 13:20:23 +08:00
    其实很多大型网站对于PHP自身的瓶颈是很重视的。
    我认为语言自身提升性能是一件非常值得做得事。
    很多人拿出了可靠数据证明PHP7比hhvm速度相当,我很期待~
    xuxu
        41
    xuxu  
       2015-01-11 13:23:13 +08:00
    还在争论语言优劣性的等用过所有的语言都写过几十万行的大系统再出来对比吧。
    好low的话题
    jarlyyn
        42
    jarlyyn  
       2015-01-11 13:44:25 +08:00
    没有好好用过其他语言盲信一门语言有必要么。

    虽然我现在主要是靠php赚钱的,但php依然是我用起来最不爽的语言之一。

    多学几门语言没坏事。

    再说一点,一直觉得,不觉得学习一门新语言是 / 库很有趣的事情,反而觉得很麻烦的,个人不觉得适合做程序员,这世界多的是写代码能写出快感的人,趁早做职业规划比较好。
    shiny
        43
    shiny  
       2015-01-11 14:06:44 +08:00
    楼主的金币收获得盆满钵满。
    fork3rt
        44
    fork3rt  
       2015-01-11 16:37:44 +08:00 via iPhone   ❤️ 1
    PHP是世界上最好的语言,没有之一
    reeco
        45
    reeco  
       2015-01-11 17:39:15 +08:00 via iPhone
    不用争了,楼上说的对
    wdlth
        46
    wdlth  
       2015-01-11 18:15:47 +08:00   ❤️ 1
    在用了gc_disable()以后有可能吧……
    zhicheng
        47
    zhicheng  
       2015-01-11 18:33:30 +08:00   ❤️ 3
    “小白讨论的永远只有三个话题,编辑器,编程语言,操作系统。”
    IanPeverell
        48
    IanPeverell  
       2015-01-11 19:07:53 +08:00
    楼上真理
    mingyun
        49
    mingyun  
       2015-01-11 21:01:39 +08:00
    顶楼上
    NCE
        50
    NCE  
       2015-01-11 22:18:32 +08:00
    依然还是用c来做封装。

    但性能比5.x提升一倍是可以期待的。
    owlsec
        51
    owlsec  
       2015-01-11 22:30:06 +08:00
    @zhicheng 真理
    kamil
        52
    kamil  
       2015-01-12 00:58:09 +08:00
    PHP是世界上最好的语言,没有之一
    @fork3rt +1
    leafx
        53
    leafx  
       2015-01-12 01:33:53 +08:00 via Android
    大爱 golang
    icedx
        54
    icedx  
       2015-01-12 02:16:25 +08:00 via Android
    机器码表示不服
    davidyin
        55
    davidyin  
       2015-01-12 08:15:05 +08:00
    看了比较,还是hhvm更好些
    soulteary
        56
    soulteary  
       2015-01-12 09:00:26 +08:00
    @kavinyao 阁下认真吐槽,让我不由想关注= =..

    呃,补充一下,有人用php做类似python的活的,甚至还有小众用php来做传统高级语言做的事情,处理文件内容等。

    - 如果业务量不大,性能根本不是瓶颈,使用什么语言,取决于团队主程,以及团队多数人对某种语言的熟悉程度,以及某种语言上手速度。
    - 从学校出来的学生,应该是具备天生掌握php的能力,如果很多年以前的学生拥有出门掌握asp的能力一样。
    jamlee
        57
    jamlee  
       2015-01-12 12:49:40 +08:00   ❤️ 1
    @WildCat php默认是没有6的 php7将在2015年中旬出来 ,开始使用编译的方式执行代码了。hhvm就是现在的解决方案。
    faywong8888
        58
    faywong8888  
       2015-01-12 14:04:47 +08:00   ❤️ 1
    @kavinyao 说得对。《计算机程序的构造和解释》我几年间分两次才看了前几章,几年前跟着practical common lisp写了几个样例程序。虽然用不上。但是对于我更好理解语言和编程很有帮助。
    hehehas
        59
    hehehas  
       2015-01-12 16:41:34 +08:00
    php 还能在秒其它语言100年不动摇
    yegle
        60
    yegle  
       2015-01-13 05:30:03 +08:00
    就想问一下你们自己用的PHP版本到底是5.2呢还是5.3呢还是5.4呢还是5.5呢?

    PHP5.6都出来半年了,你们用上了吗?

    PHP7出来后,你们要花多少时间才迁移过去?
    stevenhu888
        61
    stevenhu888  
       2015-01-13 10:30:45 +08:00
    现在语言在高访问量网站的性能已经体现不大出来了,不同情景用不同解决方案处理。精通一门,再掌握几门其他的最好。
    jy04149886
        62
    jy04149886  
       2015-01-29 10:29:35 +08:00
    秒个屁。。。都是脚本能快到哪去?
    wuwx
        63
    wuwx  
       2015-01-30 22:12:21 +08:00
    潜下心学任何一门语言
    并使他成为你的挚爱
    发现这门语言的长处与短板
    充分挖掘他的长处
    分析他的短板
    然后去深入了解其他语言
    用你新的思想去为你的挚爱提交补丁
    把他的短板补长
    ben548
        64
    ben548  
       2015-12-03 09:48:51 +08:00
    看楼上的各位撕逼好开心啊,而我只关心涨薪不涨薪
    shuimuyian
        65
    shuimuyian  
       2017-09-08 16:48:13 +08:00
    @jamlee 这也能看见熟人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 19:34 · PVG 03:34 · LAX 11:34 · JFK 14:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.