• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 3

    PHP7.0性能优化-学习笔记3

    Posted by 撒得一地 on 2015年9月17日 in PHP笔记
    国外稳定加速器推荐    Express | Vypr

    相关推荐:
    1.PHP7 NULL 合并运算符
    2.PHP7 太空船运算符(组合比较符<=>)
    3.PHP7 常量数组
    4.PHP7 匿名类
    更多:PHP7新特性教程

    A. 在PHP7中,hashtable桶内直接存数据,减少了内存申请次数,提升了Cache命中率和内存访问速度。

    旧版哈希表结构

    图1-1旧版哈希表数据存储结构图

    新版哈希表结构

    图1-2PHP7中哈希表数据存储结构图

    在以前的php中,hashtable存放的数据是在arBuckets这个结构体上,然后这个结构体存放了Bucket指针,这些Bucket指针对应的就是存放哈希表对应的数据。在php7里面对此做了改进,将之前的arBuckets改成了arData,arData与arBuckets的区别是arData直接就是一个大块内存。在这块内存里直接存放哈希桶,这样的好处是每次使用哈希桶,不用重新申请内存,在之前的arBuckets结构时,每次使用一次哈希桶,就要申请一次内存分配,每次申请都要消耗掉申请时间。而申请一块大内存不仅减少了内存申请次数,还提升了Cache命中率,因为在一个大块内存中,存储的数据是连续分配的。

    B. zend_parse_parameters改为宏实现,性能提升5%。

    zend_parse_parameters()函数作用是获取PHP函数调用者传递过来的参数,将其转化为C能够识别的参数类型。

    if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"za|b",&value,&array,&strict) == FAILURE){
    return ;
    }
    
    ZEND_PARSE_PARAMETERS_START()
    Z_PARAM_ZVAL(value)
    Z_PARAM_ARRAY(array)
    Z_PARAM_OPTIONAL
    Z_PARAM_BOOL(strict)
    ZEND_PARSE_PARAMETERS_END()
    

    在php7里面,将zend_parse_parameters这个函数转化为宏,直接可以获得函数参数里面的类型和值。

    C. 新增4种OPCODE,call_user_function,is_int/string/array,strlen,defined 4个函数变为PHP OpCode指令,速度更快。

    D. 其他更多性能优化,如基础类型int,float,bool等改为直接进行值拷贝,排序算法改进,PCRE with JIT ,execute_data和opline使用全局寄存器,使用gdb4.8的PGO功能。

    欢迎转载,转载请注明://www.cfage.com/420.html

    标签:

    上一篇:

    下一篇:

    相关推荐

    3 Comments

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    4 + 0 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 北京赛车pk10直播 体育彩票多乐彩开奖 p3开机号彩经网 开乐彩 pk10冠亚和11算小稳赢 六合彩开什么 有好多美女玩北京pk10 千禧3d开机号试机号关注码 61浙江体育彩票走势图 重庆时时彩 近期双色球开奖结果查询 河南体彩泳坛夺金走势图 体彩22选5 天津时时彩有漏洞 彩票助赢软件手机版 七乐彩胆拖计算器