zend present php71 not how extension enable cache php performance zend-framework opcache

present - Niveles de optimización de PHP OPcache: ¿qué son?



php71 opcache (1)

Los bits de opcache.optimization_level corresponden a:

  • bit 0 - paso 1:
  • bit 1 - paso 2:
    • Convertir operandos constantes a tipos esperados
    • Convertir JMP condicional con operandos constantes
    • Optimizar BRK estático y CONT
  • bit 2 - paso 3:
    • Convierta $ a = $ a + expr en $ a + = expr
    • Convertir $ a ++ en ++ $ a
    • Optimizar series de JMP s.
  • bit 3 - paso 4:
    • PRINT y optimización ECHO - removed
  • bit 4 - paso 5:
    • optimización de bloques (el paso de optimización más caro que realiza muchos patrones de optimización diferentes basados ​​en CFG - gráfico de flujo de control )
  • bit 8 - paso 9:
    • allocation registros (permite la reutilización de variables temporales).
  • bit 9 - paso 10:
    • eliminar NOPs

He mirado a mi alrededor para ver si puedo encontrar algo en algún patrón de código que se maneje mejor que otros, pero no he tenido suerte.

Información de https://github.com/zendtech/ZendOptimizerPlus/blob/master/Optimizer/zend_optimizer.c https://gist.github.com/ck-on/4959032?ocp.php

Hay una directiva opcache.optimization_level php.ini. Es una máscara de bits y por defecto es 0xffffffff , por lo que, de forma predeterminada, OPcache realiza todas las optimizaciones.

¿Qué tipo de optimizaciones hace OPcache? ¿Qué pasa en bytecode se hacen?

Pregunta de seguimiento: ¿existe un patrón de código que OPcache pueda optimizar muy bien? Por ejemplo, HHVM puede omitir la ejecución de archivos que contienen solo declaraciones de clase / función y solo llena las tablas de clase / función.