返回信息流onethink?
来自「北邮人论坛手机版」
这是一条镜像帖。来源:北邮人论坛 / www-technology / #31717同步于 2015/10/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
Re: 【求助】php网站模板哪里找?
zoolsher
2015/10/24镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 godfly 的大作中提到: 】
: 为什么呢?
PHP设计之初只是作为作者的个人主页之用,并没想成为编程语言。后来,大量贡献者无组织地往PHP里添加各种语法,使之成为编程语言,但正因为没有认真设计过,很多很坏的决策嵌入了语言的最深处的语义,无法自拔。
一个例子就是copy-on-write。PHP里所有的变量都是“按值拷贝”的语义。但是PHP偏偏又有“引用”类型。copy-on-write和“引用”这两种机制互相干扰,使得有些对象“有时候像按值拷贝,有时候像按引用拷贝”。参考我以前黑PHP的帖子: http://bbs.byr.cn/article/Linux/131124 讽刺的是,2002年曾经有人向PHP报告这个bug,但开发人员回复“修正这个bug会大大降低PHP的性能(其实性能已经很低了),所以,我们把这个bug行为写入文档了”。
之所以性能低,一个原因是这种copy-on-write语义和“引用计数”联系得太紧密了:如果引用数不为1,而且没有被“引用类型”共享,那么拷贝的时候就做深拷贝。PHP就是使用“加一个引用,计数加一;去一个引用,计数减一”这种“朴素引用计数”管理内存的。但是,“朴素引用计数”是性能非常差!非常差!非常差!重要的事情要说三遍!的垃圾回收机制。即使高度优化了的引用计数(实现难度绝不亚于更高性能的算法),性能也可能比朴素的mark-sweep低30%以上。这一点是我们组的师兄研究的结果。
至于这个copy-on-write、引用计数和php的联系有多么紧密,Facebook有高性能的HHVM虚拟机,做很强大的类型推断和JIT编译,但仍然使用朴素引用计数。去年有一次Facebook瘫痪了半小时,很大的原因就是HHVM的垃圾回收器太垃圾了。
基本上,如果用了PHP,那就要不断地去和这些混乱的语义纠缠,而且在HHVM的垃圾回收器有所突破之前,暂时和“高性能”没什么缘分了。但现在有各种语言的web框架,任何一个都比php好用,何苦纠结于php呢?
。。暖洋洋大神。。
不要这么认真的黑PHP。。。
【 在 nuanyangyang 的大作中提到: 】
:
: PHP设计之初只是作为作者的个人主页之用,并没想成为编程语言。后来,大量贡献者无组织地往PHP里添加各种语法,使之成为编程语言,但正因为没有认真设计过,很多很坏的决策嵌入了语言的最深处的语义,无法自拔。
: 一个例子就是copy-on-write。PHP里所有的变量都是“按值拷贝”的语义。但是PHP偏偏又有“引用”类型。copy-on-write和“引用”这两种机制互相干扰,使得有些对象“有时候像按值拷贝,有时候像按引用拷贝”。参考我以前黑PHP的帖子: http://bbs.byr.cn/article/Linux/131124 讽刺的是,2002年曾经有人向PHP报告这个bug,但开发人员回复“修正这个bug会大大降低PHP的性能(其实性能已经很低了),所以,我们把这个bug行为写入文档了”。
: ...................
【 在 tutubao0210 的大作中提到: 】
: 。。暖洋洋大神。。
: 不要这么认真的黑PHP。。。
:
黑php是我的娱乐活动之一。
哇~赞~顺便弱问暖羊羊(.是这么写么...)女神觉的node.js肿么样~
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: PHP设计之初只是作为作者的个人主页之用,并没想成为编程语言。后来,大量贡献者无组织地往PHP里添加各种语法,使之成为编程语言,但正因为没有认真设计过,很多很坏的决策嵌入了语言的最深处的语义,无法自拔。
: 一个例子就是copy-on-write。PHP里所有的变量都是“按值拷贝”的语义。但是PHP偏偏又有“引用”类型。copy-on-write和“引用”这两种机制互相干扰,使得有些对象“有时候像按值拷贝,有时候像按引用拷贝”。参考我以前黑PHP的帖子: http://bbs.byr.cn/article/Linux/131124 讽刺的是,2002年曾经有人向PHP报告这个bug,但开发人员回复“修正这个bug会大大降低PHP的性能(其实性能已经很低了),所以,我们把这个bug行为写入文档了”。
: 之所以性能低,一个原因是这种copy-on-write语义和“引用计数”联系得太紧密了:如果引用数不为1,而且没有被“引用类型”共享,那么拷贝的时候就做深拷贝。PHP就是使用“加一个引用,计数加一;去一个引用,计数减一”这种“朴素引用计数”管理内存的。但是,“朴素引用计数”是性能非常差!非常差!非常差!重要的事情要说三遍!的垃圾回收机制。即使高度优化了的引用计数(实现难度绝不亚于更高性能的算法),性能也可能比朴素的mark-sweep低30%以上。这一点是我们组的师兄研究的结果。
: ...................
通过『我邮2.0』发布
人家没说要做“高性能”的网站啊,没准只是想做个简单的小站呢。
【 在 nuanyangyang 的大作中提到: 】
:
: PHP设计之初只是作为作者的个人主页之用,并没想成为编程语言。后来,大量贡献者无组织地往PHP里添加各种语法,使之成为编程语言,但正因为没有认真设计过,很多很坏的决策嵌入了语言的最深处的语义,无法自拔。
: 一个例子就是copy-on-write。PHP里所有的变量都是“按值拷贝”的语义。但是PHP偏偏又有“引用”类型。copy-on-write和“引用”这两种机制互相干扰,使得有些对象“有时候像按值拷贝,有时候像按引用拷贝”。参考我以前黑PHP的帖子: http://bbs.byr.cn/article/Linux/131124 讽刺的是,2002年曾经有人向PHP报告这个bug,但开发人员回复“修正这个bug会大大降低PHP的性能(其实性能已经很低了),所以,我们把这个bug行为写入文档了”。
: ...................