with reducir para online minificar herramienta como codigo archivos php minify

php - para - reducir codigo html



¿Hay algún punto para minificar a PHP? (6)

Sé que puedes minificar PHP, pero me pregunto si hay algún punto. PHP es un lenguaje interpretado, por lo que se ejecutará un poco más lento que un lenguaje compilado. Mi pregunta es: ¿verían los clientes una mejora de velocidad visible en las cargas de página y tal si fuera a minificar mi PHP?

Además, ¿hay alguna manera de compilar PHP o algo similar?


Con algunas reescrituras (nombres de variables más cortos) puede guardar unos pocos bytes de memoria, pero eso también rara vez es significativo.

Sin embargo, sí diseño algunas de mis aplicaciones de una manera que permite concatenar incluir scripts juntos. Con php -w puede compactarse significativamente, agregando un poco de ganancia de velocidad para el inicio del script. Sin embargo, en un servidor habilitado para el código de operación, esto solo guarda algunas verificaciones de mtime de archivo.


Esto es menos una respuesta que un anuncio. He estado trabajando en una extensión de PHP que traduce códigos de operación Zend para ejecutar en una VM con tipado estático. No acelera el código PHP arbitrario. Le permite escribir código que se ejecuta mucho más rápido de lo que permite el PHP normal. La clave aquí es el tipado estático. En una CPU moderna, un lenguaje dinámico come pena de error de predicción de bifurcación hacia la izquierda y hacia la derecha. El hecho de que las matrices PHP son tablas hash también impone un alto costo: gran cantidad de errores de predicción de sucursales, uso ineficiente de la memoria caché, obtención previa de memoria deficiente y ninguna optimización SIMD en absoluto. La mala predicción de las sucursales y las fallas de caché en particular son el talón de Aquiles para los procesadores de hoy. Mi pequeña máquina virtual evita estos problemas mediante el uso de tipos estáticos y matriz C en lugar de tabla hash. El resultado termina corriendo aproximadamente diez veces más rápido. Esto está usando la interpretación de bytecode. La extensión opcionalmente puede compilar una función a través de gcc. En ese caso, obtienes de dos a cinco veces más velocidad.

Aquí está el enlace para cualquier persona interesada:

https://github.com/chung-leong/qb/wiki

De nuevo, la extensión no es un acelerador PHP general. Tienes que escribir un código específico para él.


Hay compiladores de PHP ... vea esta pregunta anterior para obtener una lista; pero (a menos que sea del tamaño de Facebook o apunte a su aplicación para ejecutar el lado del cliente) generalmente son mucho más problemas de lo que valen

El almacenamiento en caché de opcode simple le dará más beneficios para el esfuerzo involucrado. O crea un perfil de tu código para identificar los cuellos de botella y luego optimízalo.



PHP está compilado en bytecode, que luego se interpreta sobre algo parecido a una VM. Muchos otros lenguajes de scripts siguen el mismo proceso general, incluidos Perl y Ruby. En realidad, no es un lenguaje interpretado tradicional como, por ejemplo, BASIC.

No habría un aumento efectivo de la velocidad si intentara "minificar" la fuente. Obtendrás un aumento importante al usar un caché de códigos de bytes como APC .

Facebook introdujo un compilador llamado HipHop que transforma el código PHP en código C ++. Rasmus Lerdorf, uno de los grandes chicos de PHP hizo una presentación para Digg a principios de este año que cubre las mejoras de rendimiento que ofrece HipHop. En resumen, no es mucho más rápido que la optimización del código y el uso de una memoria caché de bytecode. HipHop es excesivo para la mayoría de los usuarios.

Facebook también recientemente presentó HHVM , una nueva máquina virtual basada en su trabajo de creación de HipHop. Todavía es bastante nuevo y no está claro si proporcionará un mayor impulso al rendimiento para el público en general.

Solo para asegurarse de que se indique expresamente, lea esa presentación en su totalidad. Señala numerosas formas de comparar y xdebug código e identificar cuellos de botella utilizando herramientas como xdebug y xhprof , también desde Facebook.


Olvídese de la idea de minificar PHP a favor de usar un caché de código de operación, como PHP Accelerator o APC .

O algo más como memcached