Press "Enter" to skip to content

241 search results for "php"

深入理解PHP7内核之HashTable

之前的俩篇文章深入理解PHP7内核之zval 深入理解PHP7内核之Reference, 我介绍了当时在开发PHP7的时候对zval和reference的一些改造思考和结果, 之后因为确实精力有限就没有继续往下写,时隔一年多以后,因为这场突如其来的疫情,在家办公的时间很多, 于是终于有了时间让我来继续介绍一下PHP7的中Hashtable的变化, 以及当时我们做这些变化背后的考量.

Filed in PHP7, PHP源码分析
with 18 Comments

深入理解PHP7内核之Reference

上一章说过引用(REFERENCE)在PHP5的时候是一个标志位, 而在PHP7以后我们把它变成了一种新的类型:IS_REFERNCE. 然而引用是一种很常见的应用, 所以这个变化带来了很多的变化, 也给我们在做PHP7开发的时候, 因为有的时候疏忽忘了处理这个类型, 而带来不少的bug.

Filed in PHP7, PHP源码分析
with 67 Comments

深入理解PHP7内核之zval

PHP7已经发布, 如承诺, 我也要开始这个系列的文章的编写, 主要想通过文章让大家理解到PHP7的巨大性能提升背后到底我们做了什么, 今天我想先和大家聊聊zval的变化. 在讲zval变化的之前我们先来看看zval在PHP5下面是什么样子

Filed in PHP7, PHP源码分析
with 52 Comments

写在PHP7发布之际的一些话

这是我写在微信公众号里的一篇感想, 突然想起来博客好久没更新了, 感慨一下现在的产品发展的, 个人博客好像越来越没有存在的价值了.... 唉, 不管怎么说, 我稍微做了一些修改以后, 转贴过来..
做开源也有4, 5年的时间了, 从最初的Yaf, 到今天的PHP7, 我参与的项目越来越多, 使用我代码的用户也越来越多, 而昨天发布的PHP7, 绝对是我从事开源以来的一个最重要里程碑, 我应该纪念一下今天, 就让我稍微感性一次吧.

Filed in PHP7, 随笔
with 39 Comments

让你的PHP7更快之Hugepage

PHP7刚刚发布了RC4, 包含一些bug修复和一个我们最新的性能提升成果(NEWS), 那就是"HugePageFy PHP TEXT segment", 通过启用这个特性,PHP7会把自身的TEXT段(执行体)”挪“到Huagepage上,之前的测试,我们能稳定的在Wordpress上看到2%~3%的QPS提升。
关于Hugepage是啥,简单的说下就是默认的内存是以4KB分页的,而虚拟地址和内存地址是需要转换的, 而这个转换是要查表的,CPU为了加速这个查表过程都会内建TLB(Translation Lookaside Buffer), 显而易见如果虚拟页越小,表里的条目数也就越多,而TLB大小是有限的,条目数越多TLB的Cache Miss也就会越高, 所以如果我们能启用大内存页就能间接降低这个TLB Cache Miss,至于详细的介绍,Google一搜一大堆我就不赘述了,这里主要说明下如何启用这个新特性, 从而带来明显的性能提升。

Filed in PHP应用, PHP源码分析, 随笔
with 80 Comments

让你的PHP7更快(GCC PGO)

我们一直致力于提升PHP7的性能, 上个月我们注意到GCC的PGO能在Wordpress上能带来近10%的性能提升, 这个让我们很激动.
然而, PGO正如名字所说(Profile Guided Optimization 有兴趣的可以Google), 他需要用一些用例来获得反馈, 也就是说这个优化是需要和一个特定的场景绑定的.
你对一个场景的优化, 也许在另外一个场景就事与愿违了. 它不是一个通用的优化. 所以我们不能简单的就包含这些优化, 也无法直接发布PGO编译后的PHP7.
当然, 我们正在尝试从PGO找出一些共性的优化, 然后手工Apply到PHP7上去, 但这个很明显不能做到针对一个场景的特别优化所能达到的效果, 所以我决定写这篇文章简单介绍下怎么使用PGO来编译PHP7, 让你编译的PHP7能特别的让你自己的独立的应用变得更快.

Filed in PHP应用, 随笔
with 58 Comments

在PHP中使用协程实现多任务调度

PHP5.5一个比较好的新功能是加入了对迭代生成器和协程的支持.对于生成器,PHP的文档和各种其他的博客文章已经有了非常详细的讲解.协程相对受到的关注就少了,因为协程虽然有很强大的功能但相对比较复杂, 也比较难被理解,解释起来也比较困难.
这篇文章将尝试通过介绍如何使用协程来实施任务调度, 来解释在PHP中的协程.
我将在前三节做一个简单的背景介绍.如果你已经有了比较好的基础,可以直接跳到“协同多任务处理”一节.

Filed in PHP应用, 转载, 随笔
with 141 Comments

在Qcon 2015 北京上的演讲PPT - PHP7

不少同学对于PHP7, 还是了解的不多, 这次在Qcon 2015 北京上我做了一个关于PHP7的分享, 主要内容是PHP7的主要新特性和大幅的性能提升(已经和HHVM的性能不相伯仲).
重点是介绍我们都做了那些性能优化手段, 最后的成果是咋样.
虽然之前在微博上发过, 但是还是有人不时的私信问我PPT, 考虑到微博对搜索引擎的不友好, 我就把PPT发这里吧.

Filed in PHP应用, 随笔
with 24 Comments

Can't find what you're looking for? Try refining your search: