3. Control de calidad del software
Meetups
● Test unitarios
● Test funcionales
● Test de integración
● Test de UX
● Test de performance
4. Control de calidad del software
Meetups
● Test unitarios
● Test funcionales
● Test de integración
● Test de UX
● Test de performance
¿Quien hace test de performance?
6. ¿Por qué el performance importa?
Meetups
● Dejar un mundo más verde.
○ Menos recursos necesarios.
○ Menos energía gastada.
● $$$$
○ Otra forma de ver el punto anterior.
● Happy users ⟹ More users (SEO)
○ 40% of users abandon a website that takes more than 3 seconds to load.
● Fama.
○ http://www.techempower.com/benchmarks/
○ http://benchmarksgame.alioth.debian.org/u64q/php.html
11. ¿Que es blackfire.io?
Meetups
● Profiler para PHP
● Mejora la UX de XHProf (y de var_dump([microtime(), memory_get_usage()]);)
● De los creadores de Symfony
● Saas
● Instalar servicio linux (docker) y zend_extension
● Vale para peticiones HTTP y para CLI
● Blackfire puede ser usado en cualquier fase del ciclo de video de tu aplicación: durante el
desarrollo, test, pre-produccion and produccion, para medir, test, debug y optimizar su
performance.
23. Otros casos reales
Meetups
● Composer got a huge performance boost last week thanks to the disabling of the garbage collector
● How we sped up Sylius' Behat suite with Blackfire: The Sylius test suite is now 6 times faster and
consumes 90% less memory!
● Optimizing league/commonmark with Blackfire.io: Two simple changes led to a whopping 52.5%
performance boost!
● Pomm: A two hours run with Blackfire.io: "35% performance improvement is a major enhancement in
such a test case."
● ownCloud: Recent Performance Optimizations: "Enthusiasm around the tool is becoming very visible,
with a large number of performance related pull requests showing up with Blackfire graphs."
24. Otros casos reales
Meetups
● Composer got a huge performance boost last week thanks to the disabling of the garbage collector
● How we sped up Sylius' Behat suite with Blackfire: The Sylius test suite is now 6 times faster and
consumes 90% less memory!
● Optimizing league/commonmark with Blackfire.io: Two simple changes led to a whopping 52.5%
performance boost!
● Pomm: A two hours run with Blackfire.io: "35% performance improvement is a major enhancement in
such a test case."
● ownCloud: Recent Performance Optimizations: "Enthusiasm around the tool is becoming very visible,
with a large number of performance related pull requests showing up with Blackfire graphs."
25. Otros casos reales
Meetups
● Composer got a huge performance boost last week thanks to the disabling of the garbage collector
● How we sped up Sylius' Behat suite with Blackfire: The Sylius test suite is now 6 times faster and
consumes 90% less memory!
● Optimizing league/commonmark with Blackfire.io: Two simple changes led to a whopping 52.5%
performance boost!
● Pomm: A two hours run with Blackfire.io: "35% performance improvement is a major enhancement in
such a test case."
● ownCloud: Recent Performance Optimizations: "Enthusiasm around the tool is becoming very visible,
with a large number of performance related pull requests showing up with Blackfire graphs."
26. Otros casos reales
Meetups
● Composer got a huge performance boost last week thanks to the disabling of the garbage collector
● How we sped up Sylius' Behat suite with Blackfire: The Sylius test suite is now 6 times faster and
consumes 90% less memory!
● Optimizing league/commonmark with Blackfire.io: Two simple changes led to a whopping 52.5%
performance boost!
● Pomm: A two hours run with Blackfire.io: "35% performance improvement is a major enhancement in
such a test case."
● ownCloud: Recent Performance Optimizations: "Enthusiasm around the tool is becoming very visible,
with a large number of performance related pull requests showing up with Blackfire graphs."
27. Consejos
Meetups
● Primero usa PHP7 (y OPCache).
● Antes de optimizar, mide mucho y bien. (blackfire.io)
● Conoce tus herramientas (time) (@igrigorik).
● PHP no vale para todo. (@julienPauli)
● La optimización prematura es la raíz de todos los males. (Donald Knuth)
● You can optimise for execution speed. You can optimise for space.
But the most precious thing you should optimise for is
understandability