SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
História, súčastnosť a budúcnosť
spracovania PHP…
!
vieme PHP ešte zrýchliť?
Tomáš Srnka
Tomáš Srnka
@tomassrnka, @relbit
– Sherice Jabocs, KissMetrics
http://blog.kissmetrics.com/speed-is-a-killer/
“Nearly half of web users expect a site to load
in 2 seconds or less, and they tend to abandon
a site that isn’t loaded within 3 seconds..”
PHP je pomalé
alebo…
bolo pomalé?
PHP 5.3
• 5.3.X verzia je najpoužívanejšia PHP verzia
• viac ako 50% market share vďaka distribúciam
RHEL 6, Debian Squezy, Ubuntu 12.04 LTS
• end of life, 5.3.28 obsahuje niekoľko kritických
chýb
• PHP 5.3 je pomalé, žiadne cachovanie kódu
• Riešenia:
• APC - Alternative PHP Cache
• OPCache (?)
PHP 5.4
• Nárast výkonu o cca 15%
• Zníženie pamäťovej náročnosti o 20%
• Real life, niekde okolo 5% zlepšenie
• OPCache sa stáva použiteľným
PHP 5.5
• Build-in OpCache a štandardne je zapnutá
• Voči PHP 5.4 znovu zrýchlenie o 15% bez
OpCache, s OpCache výrazne viac
• Real life potvrdzuje aj zrýchlenie o 15-20%
Opcache
Executing
Caching
Optimizing
Parsing&Compiling
opcodes
opcodes
opcodes
opcodes
Shared memory
Save&Load
Kam ďalej
PHP 5.6-dev
• Evolúcia PHP, tak ako pri 5.4 a 5.5
• Aktuálne PHP 5.6-RC1
• Značne zlepšená OpCache
• PHP 5.6 bude vydané v najbližších mesiacoch
PHP-NG (5.7-dev)
• Umožní implementovať JIT kompilátory do PHP
• Výrazne zníženie alokácie pamäte => Zníženie
počtu inštrukcií
• Wordpress používa iba 45% počtu inštrukcií na
vygenerovanie homepage voči PHP 5.5
• SAPI mod_php nebude dostupné
• Just-in-time (JIT) kompilacia do bytecode
• Výrazne lepší výkon, až 10x rýchlejšia exekúcia
• (Takmer) stabling riešenie
• Kompatibilné s väčšinou opensource Frameworkov
• Proof-of-concept
• Github nesedí s reálnym stavom, vývoj za
zatvorenými dverami
• Opensource verzia bude k “ničomu”
• 2-3x rýchlejšie ako HHVM / 20-30x rýchlejšie ako
PHP
Benchmark-y
• Testovacie prostredie:
• Scientific Linux 6.5 (klon RHEL 6), OpenVZ, ZFS (100% IO hitrate)
• Core i7 920 - 2.66GHz, 24GB RAM
• nginX a fastcgi
• Vlastné buildy PHP 5.3, 5.4, 5.5, 5.6-dev, HHVM a HippyVM
!
• Cieľ
• Porovnať hrubý a reálny dopad zmien medzi verzia PHP a nových PHP VM
Fannkuch
• Hrubá vypočetná sila, generovanie permutacií
Sekundy
0
1000
2000
3000
4000
PHP 5.3
PHP 5.4
PHP 5.5
PHP 5.6-dev
HHVM
HippyVM
Menej je lepšie
gcBench
• Memory allocation & Garbage Collector Benchmark
Sekundy
0
12,5
25
37,5
50
PHP 5.3
PHP 5.4
PHP 5.5
PHP 5.6-dev
HHVM
HippyVM
Menej je lepšie
Wordpress 3.9.1., 1GB dummy dát, 15 pluginov
# ab -c 20 -n 10000 http://IP/wordpress/?page_id=5
Requestspersecond
0
45
90
135
180
PHP 5.3
PHP 5.3-APC
PHP 5.4
PHP 5.5-OpCache
PHP 5.6-OpCache
HHVM
Wordpress - benchmark
Viac je lepšie
Zmenou PHP VM resp. verzie
bez zmeny riadku PHP kódu
25 req/s 178 req/s7,12x
Čo sa do testu nezmestilo
• JPHP - Kompilátor PHP do JVM, 2-10x rýchlejší
ako čisté PHP, kompatibilné s PHP 5.4
• Zephir - Kompilátor PHP do C, vlastný fork PHP
• PHP-NG - v čase testu viac padalo ako bežalo $
• HippyVM - neexitujúca opensource MySQL
extension
• [ Moja “vlastná” VM pre PHP ]
Kam ide PHP?
• Opensource je super, každý si môže spraviť
svoj FORK :)
• Veľká fragmentácia v posledných mesiacoch,
či už vo forme VM alebo samotného jazyka
• Rasmus Lerdorf naklonený HHVM, Vývojári
Zend bojujú za vlastný JIT, preto PHP-ng
• Čas ukáže, zatiaľ vyhráva HHVM (Facebook)
Ďakujem za pozornosť
Otázky?
• Twitter: @tomassrnka, @relbit
• tomas.srnka@relbit.com
Páčila sa Vám prednáška?
http://m.Feedbando.com/PHPrychle

Más contenido relacionado

Destacado

Mikey Ariel - My personal tech-writing agile manifesto
Mikey Ariel - My personal tech-writing agile manifestoMikey Ariel - My personal tech-writing agile manifesto
Mikey Ariel - My personal tech-writing agile manifestoDevelcz
 
Nikol Ježková - Testování v Behatu
Nikol Ježková - Testování v BehatuNikol Ježková - Testování v Behatu
Nikol Ježková - Testování v BehatuDevelcz
 
Petr Kováčik - Personalizace webu
Petr Kováčik - Personalizace webuPetr Kováčik - Personalizace webu
Petr Kováčik - Personalizace webuDevelcz
 
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150Develcz
 
Jak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyJak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyRobin Pokorny
 
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiRiki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiDevelcz
 
Tereza Šimůnková - Scrum na dálku
Tereza Šimůnková - Scrum na dálkuTereza Šimůnková - Scrum na dálku
Tereza Šimůnková - Scrum na dálkuDevelcz
 
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.Develcz
 
Jiří Knesl - Techniky paralelního programování pro 21. století
Jiří Knesl - Techniky paralelního programování pro 21. stoletíJiří Knesl - Techniky paralelního programování pro 21. století
Jiří Knesl - Techniky paralelního programování pro 21. stoletíDevelcz
 
Adam Herout - Kladivo na čarodějnice a dobrá data
Adam Herout - Kladivo na čarodějnice a dobrá dataAdam Herout - Kladivo na čarodějnice a dobrá data
Adam Herout - Kladivo na čarodějnice a dobrá dataDevelcz
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?David Grudl
 

Destacado (11)

Mikey Ariel - My personal tech-writing agile manifesto
Mikey Ariel - My personal tech-writing agile manifestoMikey Ariel - My personal tech-writing agile manifesto
Mikey Ariel - My personal tech-writing agile manifesto
 
Nikol Ježková - Testování v Behatu
Nikol Ježková - Testování v BehatuNikol Ježková - Testování v Behatu
Nikol Ježková - Testování v Behatu
 
Petr Kováčik - Personalizace webu
Petr Kováčik - Personalizace webuPetr Kováčik - Personalizace webu
Petr Kováčik - Personalizace webu
 
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150
David Brožík - Škálování týmů, procesů a technologií od 4 developerů po 150
 
Jak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázkyJak nám responzivní web rozbil obrázky
Jak nám responzivní web rozbil obrázky
 
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivostiRiki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
Riki Fridrich - Grunt, Gulp a spol. - Automatizáciou k maximalizácii lenivosti
 
Tereza Šimůnková - Scrum na dálku
Tereza Šimůnková - Scrum na dálkuTereza Šimůnková - Scrum na dálku
Tereza Šimůnková - Scrum na dálku
 
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.
Martin Kopta - UX. Testujte. Hned. Pravidelně. S málem.
 
Jiří Knesl - Techniky paralelního programování pro 21. století
Jiří Knesl - Techniky paralelního programování pro 21. stoletíJiří Knesl - Techniky paralelního programování pro 21. století
Jiří Knesl - Techniky paralelního programování pro 21. století
 
Adam Herout - Kladivo na čarodějnice a dobrá data
Adam Herout - Kladivo na čarodějnice a dobrá dataAdam Herout - Kladivo na čarodějnice a dobrá data
Adam Herout - Kladivo na čarodějnice a dobrá data
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?
 

Más de Develcz

Daniel Steigerwald: WYSIWYG je šik! (když funguje)
Daniel Steigerwald: WYSIWYG je šik! (když funguje)Daniel Steigerwald: WYSIWYG je šik! (když funguje)
Daniel Steigerwald: WYSIWYG je šik! (když funguje)Develcz
 
Ondřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryOndřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryDevelcz
 
Martin Hassman: Jak se tvoří addony pro World of Warcraft
Martin Hassman: Jak se tvoří addony pro World of WarcraftMartin Hassman: Jak se tvoří addony pro World of Warcraft
Martin Hassman: Jak se tvoří addony pro World of WarcraftDevelcz
 
Ondřej Voves: Jak přepsat monolit do mikroslužeb
Ondřej Voves: Jak přepsat monolit do mikroslužebOndřej Voves: Jak přepsat monolit do mikroslužeb
Ondřej Voves: Jak přepsat monolit do mikroslužebDevelcz
 
Marcel Šulek: Zpraste svoje kódy
Marcel Šulek: Zpraste svoje kódyMarcel Šulek: Zpraste svoje kódy
Marcel Šulek: Zpraste svoje kódyDevelcz
 
Michal Illich: Vývojáři staví letadlo
Michal Illich: Vývojáři staví letadloMichal Illich: Vývojáři staví letadlo
Michal Illich: Vývojáři staví letadloDevelcz
 
Ondřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůOndřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůDevelcz
 
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Develcz
 
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslDevelcz
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLDevelcz
 
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíTomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíDevelcz
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostDevelcz
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonDevelcz
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloDevelcz
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Develcz
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kóduDevelcz
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDevelcz
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Develcz
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalDevelcz
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěDevelcz
 

Más de Develcz (20)

Daniel Steigerwald: WYSIWYG je šik! (když funguje)
Daniel Steigerwald: WYSIWYG je šik! (když funguje)Daniel Steigerwald: WYSIWYG je šik! (když funguje)
Daniel Steigerwald: WYSIWYG je šik! (když funguje)
 
Ondřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryOndřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featury
 
Martin Hassman: Jak se tvoří addony pro World of Warcraft
Martin Hassman: Jak se tvoří addony pro World of WarcraftMartin Hassman: Jak se tvoří addony pro World of Warcraft
Martin Hassman: Jak se tvoří addony pro World of Warcraft
 
Ondřej Voves: Jak přepsat monolit do mikroslužeb
Ondřej Voves: Jak přepsat monolit do mikroslužebOndřej Voves: Jak přepsat monolit do mikroslužeb
Ondřej Voves: Jak přepsat monolit do mikroslužeb
 
Marcel Šulek: Zpraste svoje kódy
Marcel Šulek: Zpraste svoje kódyMarcel Šulek: Zpraste svoje kódy
Marcel Šulek: Zpraste svoje kódy
 
Michal Illich: Vývojáři staví letadlo
Michal Illich: Vývojáři staví letadloMichal Illich: Vývojáři staví letadlo
Michal Illich: Vývojáři staví letadlo
 
Ondřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůOndřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojů
 
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
 
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
 
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíTomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnost
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To Reason
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadlo
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kódu
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the Ugly
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/Drupal
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
 

Tomáš Srnka - História, súčastnosť a budúcnosť spracovania PHP... vieme PHP ešte zrýchliť?

  • 1. História, súčastnosť a budúcnosť spracovania PHP… ! vieme PHP ešte zrýchliť? Tomáš Srnka
  • 3.
  • 4. – Sherice Jabocs, KissMetrics http://blog.kissmetrics.com/speed-is-a-killer/ “Nearly half of web users expect a site to load in 2 seconds or less, and they tend to abandon a site that isn’t loaded within 3 seconds..”
  • 6. PHP 5.3 • 5.3.X verzia je najpoužívanejšia PHP verzia • viac ako 50% market share vďaka distribúciam RHEL 6, Debian Squezy, Ubuntu 12.04 LTS • end of life, 5.3.28 obsahuje niekoľko kritických chýb
  • 7. • PHP 5.3 je pomalé, žiadne cachovanie kódu • Riešenia: • APC - Alternative PHP Cache • OPCache (?)
  • 8. PHP 5.4 • Nárast výkonu o cca 15% • Zníženie pamäťovej náročnosti o 20% • Real life, niekde okolo 5% zlepšenie • OPCache sa stáva použiteľným
  • 9. PHP 5.5 • Build-in OpCache a štandardne je zapnutá • Voči PHP 5.4 znovu zrýchlenie o 15% bez OpCache, s OpCache výrazne viac • Real life potvrdzuje aj zrýchlenie o 15-20%
  • 11.
  • 13. PHP 5.6-dev • Evolúcia PHP, tak ako pri 5.4 a 5.5 • Aktuálne PHP 5.6-RC1 • Značne zlepšená OpCache • PHP 5.6 bude vydané v najbližších mesiacoch
  • 14. PHP-NG (5.7-dev) • Umožní implementovať JIT kompilátory do PHP • Výrazne zníženie alokácie pamäte => Zníženie počtu inštrukcií • Wordpress používa iba 45% počtu inštrukcií na vygenerovanie homepage voči PHP 5.5 • SAPI mod_php nebude dostupné
  • 15. • Just-in-time (JIT) kompilacia do bytecode • Výrazne lepší výkon, až 10x rýchlejšia exekúcia • (Takmer) stabling riešenie • Kompatibilné s väčšinou opensource Frameworkov
  • 16. • Proof-of-concept • Github nesedí s reálnym stavom, vývoj za zatvorenými dverami • Opensource verzia bude k “ničomu” • 2-3x rýchlejšie ako HHVM / 20-30x rýchlejšie ako PHP
  • 17. Benchmark-y • Testovacie prostredie: • Scientific Linux 6.5 (klon RHEL 6), OpenVZ, ZFS (100% IO hitrate) • Core i7 920 - 2.66GHz, 24GB RAM • nginX a fastcgi • Vlastné buildy PHP 5.3, 5.4, 5.5, 5.6-dev, HHVM a HippyVM ! • Cieľ • Porovnať hrubý a reálny dopad zmien medzi verzia PHP a nových PHP VM
  • 18. Fannkuch • Hrubá vypočetná sila, generovanie permutacií Sekundy 0 1000 2000 3000 4000 PHP 5.3 PHP 5.4 PHP 5.5 PHP 5.6-dev HHVM HippyVM Menej je lepšie
  • 19. gcBench • Memory allocation & Garbage Collector Benchmark Sekundy 0 12,5 25 37,5 50 PHP 5.3 PHP 5.4 PHP 5.5 PHP 5.6-dev HHVM HippyVM Menej je lepšie
  • 20. Wordpress 3.9.1., 1GB dummy dát, 15 pluginov # ab -c 20 -n 10000 http://IP/wordpress/?page_id=5
  • 21. Requestspersecond 0 45 90 135 180 PHP 5.3 PHP 5.3-APC PHP 5.4 PHP 5.5-OpCache PHP 5.6-OpCache HHVM Wordpress - benchmark Viac je lepšie
  • 22. Zmenou PHP VM resp. verzie bez zmeny riadku PHP kódu 25 req/s 178 req/s7,12x
  • 23. Čo sa do testu nezmestilo • JPHP - Kompilátor PHP do JVM, 2-10x rýchlejší ako čisté PHP, kompatibilné s PHP 5.4 • Zephir - Kompilátor PHP do C, vlastný fork PHP • PHP-NG - v čase testu viac padalo ako bežalo $ • HippyVM - neexitujúca opensource MySQL extension • [ Moja “vlastná” VM pre PHP ]
  • 24. Kam ide PHP? • Opensource je super, každý si môže spraviť svoj FORK :) • Veľká fragmentácia v posledných mesiacoch, či už vo forme VM alebo samotného jazyka • Rasmus Lerdorf naklonený HHVM, Vývojári Zend bojujú za vlastný JIT, preto PHP-ng • Čas ukáže, zatiaľ vyhráva HHVM (Facebook)
  • 26. Otázky? • Twitter: @tomassrnka, @relbit • tomas.srnka@relbit.com
  • 27. Páčila sa Vám prednáška? http://m.Feedbando.com/PHPrychle