zoukankan      html  css  js  c++  java
  • php的opcode缓存原理

    opcode是什么?
    它是一种PHP脚本编译后的中间语言,类似java的字节码。
     
    PHP代码执行(Zend引擎)的步骤如下:
    php的opcode缓存原理 - 怀素真 - 因上努力 果上随缘
    1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)
    2.Parsing, 将Tokens转换成简单而有意义的表达式
    3.Compilation, 将表达式编译成Opocdes
    4.Execution, 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。
    
    Zend引擎从文件系统读取文件,扫描其词典和表达式,解析文件,创建要执行的计算机代码(opcode),最后执行opcode。每次请求PHP脚本都会执行一遍以上步骤,如果PHP源代码没有变化,那么把opcode缓存下来,直接访问opcode不是更快。
    php的opcode缓存原理 - 怀素真 - 因上努力 果上随缘
     
     
    opcode缓存是什么?
    当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(opcode)。
    opcode缓存的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode缓存的性能提升是非常有限的。
    但是既然opcode缓存能带来CPU和内存开销的降低,这总归是好事。
     
    php opcode的缓存扩展有哪些?
    eAccelerator
    xcache
    APC
    opcache(原名Zend Optimizer+)
    
     
     
  • 相关阅读:
    蛋疼的时候写三消游戏(三)
    Unity3d做的小游戏Demo《高铁惊魂》
    蛋疼的时候写三消游戏(四)
    Unity中调用http请求
    Unity中的单例
    Unity的IOS接入新浪微博
    Unity中实现热浪效果
    Unity开发摘要
    蛋疼的时候写三消游戏(二)
    蛋疼的时候写三消游戏(一)
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294557.html
Copyright © 2011-2022 走看看