所在的位置: 程序员 >> 职业要求 >> 不过他也坦承

不过他也坦承

而hhvm虽然拥有快速的执行效能,其为特定用途优化的设计,只能满足小部分的开发者

不过他也坦承,当此实验性的jit用於wordpress时,并未得到任何加速效果,「我们想要打造的jit不是要在大学课本上学到的东西,而是能在真实世界中运作的jit」他表示因为php一直都抱持如此的理想,试图解决人们生活中的问题,并且能真实世界中线上环境中运作,而不只是存在课本中的理论

目前,php核心贡献者之一的dmitry stogov开发一个原型jit,并且使用某些实验性的应用程式去测试运作rasmus lerdorf表示,如果将此jit用於执行某些重复性的运算或是回圈程式,得以让php 7效能又再快上10倍

hhvm是程序员联合开发网站脸书为自家网站特性而量身客制的php优化机制,不见得适用任何网站但rasmus lerdorf表示,新版目标之一就是要让任何网站开发者,就连使用开发框架drupal、开源电子商务系统opencart时,都能有不输使用hhvm技术的效能在新版发表前夕,他也趁来台参加phpconf taiwan年会时,分享php 7效能大突破的关键

rasmus lerdorf比喻,在许多汽车中,jit必须能预测哪部分的车子会右转、哪部分的车子会左转或是某些颜色汽车会直行,「而jit必须要全部预测正确,否则效能会大大的降低」但是,如果预测正确,程式执行效能则会大大提升

但rasmus lerdorf表示,php与hhv程序员工资排行m两者在架构设计上相当不同,例如,hhvm的多执行绪架构并不是很稳固此外,hhvm的可携性并不佳,离可以在windows平台上运作还有很大一段路,而php有很多开发者在windows环境开发,而hhvm无法照顾到那些使用者

不使用外挂框架的php的运算效能表现都很优异,但是受到外加框架的影响,原本可以在数秒内处理上千个网页要求的php,效能大幅下降,变为只能处理数十个要求rasmus lerdorf表示,在hhvm出现之前,相较於对php效能表现的要求,使用者比较在意php能否降低网页开发的难度,而这些框架能让开发者的工作变得比较简单但是在facebook推出hhvm後,引出许多重视php效能表千锋3g学院现的使用者,让rasmus lerdorf意识到许多使用者有效能表现的需求他开始思考如何将hhvm的jit架构与php融合

非强型别语言的php,导入jit是难上加难

但是,「这不代表我们不能做jit此外,我们也要控制php的发展走向」rasmus lerdorf表示

然而,在php中加入jit编译是件非常困难的事情rasmus lerdorf表示,jit必须学会辨认程式的运作模式(patterns),例如了解哪些部份为重要的程式码,并且在程式运作前,预测程式被呼叫的时机,或是哪些部分的程式会呼叫

rasmus lerdorf表示,在php刚问世时,他每天至少花16个小时开发php但目前他已经逐渐减少投入开发计算机程序员考试,转而投注心力在世界各地宣传及演讲他打趣地表示:「与其自己开发,不如激励远比我聪明,又愿意一天花十八小时写程式的人去开发php」他表示,他的最终目标是php中没有任何一行由他所撰写的程式码,「任何在成长中的专案都不应该由一个开发者主导,老旧的程式码应该被新的程式码替换」而他认为,其他开发者应该以此为目标

然而,开发符合市场上少部分人使用的程式语言并不是难事,但是php专案瞄准许多对象,必须同时符合业余使用者及专业开发者需求的原则下,开发难以面面俱到,因为总是会有部分族群的需求无法被满足,「这就像拿水管大范围的喷洒,而每个人衣服都会被水沾湿一点,但是不会有人的衣服完全湿透」rasmus lerdo软考初级程序员试题rf比喻

rasmus lerdorf与php核心贡献团队花了许多心力减少程式运作时搬动的记忆体位元数,由此加速执行的效能例如,php中储存变数的资料架构zval从24位元缩减至16位元、hashtable从72位元减少至56位元,并检视php中的函式,思考有无任何改进效能的空间

一个20年来历经了多次改版和无数次优化的成熟语言,还能有效能提高一倍的突破绝非易事,rasmus lerdorf坦言,不像一般新专案多半容易找出许多改进空间,新版php并非修改部分程式就达到了如此的成果反而是,透过大量细节优化和效能累加後,php 7才具备了不输hhvm的执行效能

而hhvm为了在使用jit编译,某种程度上受限了php的发展hh程序设计师vm的使用者必须清楚宣告变数的性质,但是使用php的开发者,可以先宣告没有性质的类别(class),後续再指定类别的变数属性「在没有任何限制下,将jit加入php是我们要做的事」他表示,php必须顾及wordpress、drupal等框架的开发者,不能任意停止对此些框架的支援故与hhvm相比,php在打造jit的条件限制更多

facebook为了优化php运作,搭配jit编译而打造出虚拟机器hhvm反之,rasmus lerdorf除了想提升php的效能表现外,也想要同时满足高端使用者以及业余使用者的需求,让php 7成为兼备效能表现及通用功能的程式语言

除了从减少记忆体的使用着手外,rasmus le程序设计师rdorf更检视cpu的cache line的运作原理,了解程式码如何与cpu互动、编译器如何在新cpu架构下编译程式码等细节,确保php 7的程式码符合现代cpu的架构虽然每个项目的优化对效能贡献都低於0.5%,但由於优化的项目很多,或是某项改善的功能会被应用程式反覆呼叫,整体修正的综效结果就能有如此大的进展

受hhvm刺激,决定打造兼具效能与功能的php

20岁老牌网页程式语言php,最快将在10月底释出php 7新版,这是十年来的首次大改版, 特色是在效能上的大突破,能比前一版php 5快上一倍,php之父rasmus lerdorf表示,甚至能比hhvm虚拟机器下的php程式效能更快

rasmus lerdophp框架是什么rf表示,他不能放弃php的主要架构,虽然他们曾经考虑过融合两者,但是,hhvm在使用上有很多的限制虽然hhvm对facebook及许多开发者是非常好的工具,但对於php专案来说,hhvm的使用范畴还不够宽广,只能符合facebook或是wikipedia等特定专案的需求

在一般的程式语言的编译中加入jit已属不易,rasmus lerdorf表示,由於php的动态属性(dynamic)让加入jit是难上加难他举例,开发者宣告参数$a值为1,但不代表程式所有的$ a的值都为1,由於php中参数值可以很轻易地重新定义在c语言中,当开发者宣告参数a为整数,则a永远为整数如果程式中有任何地方宣告a是整数以外的类型php程序员笔试题,连编译都无法执行而因为c语言此种强型别的程式语言,「jit可以预测变数a为整数,但是在php中,我们没有这种 」他解释,hhvm的做法为当jit得知a是整数型别後,则假设a永远为整数


白癜风发病
南宁白癜风医院


转载请注明:http://www.xxcyfilter.com/zyyq/560.html