[PHP内核探索]PHP中的哈希表
上面提到的不足,在PHP7中都很好地解决了,PHP7对内核中的数据结构做了一个大改造,使得PHP的效率高了很多,因此,推荐PHP开发者都将开发和部署版本更新吧。看看下面这段PHP代码:
上面这个demo是有多个hash冲突时和无冲突时的时间消耗比较。笔者在PHP5.4下运行这段代码,结果如下
而在PHP7上运行的结果:
可见不论在有冲突和无冲突的数组操作,PHP7的性能都提升了不少,当然,有冲突的性能提升更为明显。至于为什么PHP7的性能提高了这么多,值得继续深究。 最后再安利一下,笔者github上有一个简易版的HashTable的实现:HashTable实现 另外,我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。 原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。 如果本文对你有帮助,请点下推荐吧,谢谢^_^ 参考文章: PHP数组的Hash冲突实例 Understanding PHP's internal array implementation (PHP's Source Code for PHP Developers - Part 4) PHP's new hashtable implementation (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |