SlideShare a Scribd company logo
1 of 29
Performance Comparison of
PHP 5.6 vs. 7.0 vs HHVM
Jani Tarvainen - April 20th 2016
About me - Jani Tarvainen
• Working on the web professionally from 2000 in various roles in
development, support operations, management and consulting
• By day I help people build the web at eZ Systems
• By night I do things at Malloc for fun/profit
• On Twitter: @velmu
PHP performance lately
• PHP 5.6
• Opcode cache built in (since 5.5)
• HHVM 3.x
• Increased performance
• Facebook's own Hacklang for features
• PHP 7.0
• Increased performance and more efficient memory use
• New PHP language features
Compatibility
• All three are are solid for production use
• Symfony achieves 100% PHP7 compatibility
• Symfony 2.3 achieves 100% HHVM compatibility
• PHP 7 feature support in HHVM
Benchmark case
• Done using a full Symfony2 framework application - eZ Platform demo
• A few page loads and REST API calls used
• Tests done on dedicated VPSes, repeated 3 times and averages
reported
• Details: Symfony Benchmarks: PHP 5.6, HHVM 3.11 and PHP 7.0.1
Benchmark case - Frontpage
Benchmark case - Top Stories
Benchmark case - Projects
Benchmark case - REST API Call
Memory usage and Response Time - Load Frontpage
with empty runtime and Symfony caches
Memory usage and Response Time - Load Frontpage with
empty runtime and Symfony caches
Memory usage and Response Time - Load Top Stories
page
Memory usage and Response Time - Load Top Stories
page
Memory usage and Response Time - Load Projects page
Memory usage and Response Time - Load Projects page
Memory usage and Response Time - Load Frontpage
Memory usage and Response Time - Load Frontpage
Requests served per second - Frontpage
without Symfony Reverse Proxy
Requests served per second - Frontpage with
Symfony Reverse Proxy
Requests served per second - API without
Symfony Reverse Proxy
Requests served per second - API with
Symfony Reverse Proxy
Conclusions
• From a standing start HHVM can be the slowest (JIT)
• HHVM beats PHP 5.6 in memory usage and throughput
• PHP 7.0 is the fastest and uses a significantly than 5.6 or HHVM less
memory
• When you've got a lot of template processing, etc. the difference
between HHVM and PHP 7.0 closes down, compared to that of the
API calls
Adoption
• Prebuilt HHVM packages for Ubuntu, Debian
• PHP 7.0 available for CentOS/RHEL, Debian
• Containers (Docker, etc.) makes runtime packaging easier
• PHP 7.0 is default in Ubuntu 16.04 LTS, release tomorrow (April 21st)
What should I use?
• PHP 5.6 is super safe
• HHVM can be a boost for non PHP 7-compatible apps and Hacklang
features
• PHP 7.x is the future, I suggest targeting it
• Some PHP 7 polyfills available: New in Symfony 2.8: Polyfill
Components
...PHP-PM and PHPFastCGI?
• Traditionally PHP boots up from scratch
• PHP-PM and PHPFastCGI Running PHP as long running processes
• High performance, but introduce memory leak worries, etc
• Still work in progress, but stabilising
• Details: PHP-FPM vs. PHP-PM (on PHP 7 and HHVM)
Frontpage without Symfony Reverse Proxy
API without Symfony Reverse Proxy
Cool Links
• Symfony Benchmarks: Introduction
• How Badoo saved one million dollars switching to PHP7
• Migrating from PHP 5.6.x to PHP 7.0.x
• Wikipedia on HHVM
• Running Symfony Applications with PHP-PM or PHPFastCGI
• PHP High-Performance - Follow Up with Symfony/Jarves.io and PHP-
PM
• Things to consider when developing an application with PHPFastCGI
Questions?
• Thank you!
• http://symfony.fi/php-hhvm

More Related Content

What's hot

Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHPJohn Coggeshall
 
Hhvm and wordpress
Hhvm and wordpressHhvm and wordpress
Hhvm and wordpressMark Kelnar
 
Benefit of using php in web development
Benefit of using php in web developmentBenefit of using php in web development
Benefit of using php in web developmentDaizy digital
 
Functional Programming in PHP
Functional Programming in PHPFunctional Programming in PHP
Functional Programming in PHPAurimas Niekis
 
Magento on HHVM. Daniel Sloof
Magento on HHVM. Daniel SloofMagento on HHVM. Daniel Sloof
Magento on HHVM. Daniel SloofMeetMagentoNY2014
 
Kamailio World 2014 - Introduction to IMS Application Servers
Kamailio World 2014 - Introduction to IMS Application ServersKamailio World 2014 - Introduction to IMS Application Servers
Kamailio World 2014 - Introduction to IMS Application Serverscaruizdiaz
 
30 C# Interview Questions and Answers
30 C# Interview Questions and Answers30 C# Interview Questions and Answers
30 C# Interview Questions and AnswersQuestpond
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!David Paquette
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014Yoav Farhi
 
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)Nexcess.net LLC
 
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile DevicesTestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devicestestingbot
 
How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!Paul Richards
 
Next Generation Browser Add-Ons
Next Generation Browser Add-OnsNext Generation Browser Add-Ons
Next Generation Browser Add-OnsAnant Narayanan
 
U97 JavaScript Webinar
U97 JavaScript WebinarU97 JavaScript Webinar
U97 JavaScript WebinarUniface
 
How to Supercharge your PHP Web API
How to Supercharge your PHP Web APIHow to Supercharge your PHP Web API
How to Supercharge your PHP Web APIAurimas Niekis
 
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Robert MacLean
 
Scaling php - Intercon php
Scaling php - Intercon phpScaling php - Intercon php
Scaling php - Intercon phpHandrus Nogueira
 
HCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsHCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsAles Lichtenberg
 

What's hot (20)

Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
 
Hhvm and wordpress
Hhvm and wordpressHhvm and wordpress
Hhvm and wordpress
 
Benefit of using php in web development
Benefit of using php in web developmentBenefit of using php in web development
Benefit of using php in web development
 
PHP Training in Chandigarh
PHP Training in ChandigarhPHP Training in Chandigarh
PHP Training in Chandigarh
 
Functional Programming in PHP
Functional Programming in PHPFunctional Programming in PHP
Functional Programming in PHP
 
Magento on HHVM. Daniel Sloof
Magento on HHVM. Daniel SloofMagento on HHVM. Daniel Sloof
Magento on HHVM. Daniel Sloof
 
Kamailio World 2014 - Introduction to IMS Application Servers
Kamailio World 2014 - Introduction to IMS Application ServersKamailio World 2014 - Introduction to IMS Application Servers
Kamailio World 2014 - Introduction to IMS Application Servers
 
30 C# Interview Questions and Answers
30 C# Interview Questions and Answers30 C# Interview Questions and Answers
30 C# Interview Questions and Answers
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!
 
Daniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVMDaniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVM
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014
 
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
 
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile DevicesTestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
 
How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!
 
Next Generation Browser Add-Ons
Next Generation Browser Add-OnsNext Generation Browser Add-Ons
Next Generation Browser Add-Ons
 
U97 JavaScript Webinar
U97 JavaScript WebinarU97 JavaScript Webinar
U97 JavaScript Webinar
 
How to Supercharge your PHP Web API
How to Supercharge your PHP Web APIHow to Supercharge your PHP Web API
How to Supercharge your PHP Web API
 
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
 
Scaling php - Intercon php
Scaling php - Intercon phpScaling php - Intercon php
Scaling php - Intercon php
 
HCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsHCL Sametime V11 installation - tips
HCL Sametime V11 installation - tips
 

Viewers also liked

Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Jani Tarvainen
 
Técnicas para ser escalável com PHP
Técnicas para ser escalável com PHPTécnicas para ser escalável com PHP
Técnicas para ser escalável com PHPFilipe La Ruina
 
Militārā orientēšanās
Militārā orientēšanāsMilitārā orientēšanās
Militārā orientēšanāsArturs Svekris
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationGiulio De Donato
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksGerald Krishnan
 
Services Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQLServices Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQLJoe Stump
 
Knowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkKnowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkBukhori Aqid
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP FrameworkBill Condo
 
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6Wim Godden
 
The promise of asynchronous PHP
The promise of asynchronous PHPThe promise of asynchronous PHP
The promise of asynchronous PHPWim Godden
 

Viewers also liked (10)

Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)Using eZ Platform as a Headless CMS (with Vue.js)
Using eZ Platform as a Headless CMS (with Vue.js)
 
Técnicas para ser escalável com PHP
Técnicas para ser escalável com PHPTécnicas para ser escalável com PHP
Técnicas para ser escalável com PHP
 
Militārā orientēšanās
Militārā orientēšanāsMilitārā orientēšanās
Militārā orientēšanās
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony application
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Services Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQLServices Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQL
 
Knowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP frameworkKnowing Laravel 5 : The most popular PHP framework
Knowing Laravel 5 : The most popular PHP framework
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP Framework
 
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6
 
The promise of asynchronous PHP
The promise of asynchronous PHPThe promise of asynchronous PHP
The promise of asynchronous PHP
 

Similar to Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM

Similar to Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM (20)

Hhvm vs php
Hhvm vs phpHhvm vs php
Hhvm vs php
 
Php unit i
Php unit i Php unit i
Php unit i
 
ReactPHP + Symfony
ReactPHP + SymfonyReactPHP + Symfony
ReactPHP + Symfony
 
How PHP works
How PHP works How PHP works
How PHP works
 
Php hypertext Preprocessor
Php hypertext PreprocessorPhp hypertext Preprocessor
Php hypertext Preprocessor
 
What is PHP?
What is PHP?What is PHP?
What is PHP?
 
Php7
Php7Php7
Php7
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
Php intro
Php introPhp intro
Php intro
 
Top 10 php frameworks in 2021
Top 10 php frameworks in 2021Top 10 php frameworks in 2021
Top 10 php frameworks in 2021
 
Php training in surat
Php training in suratPhp training in surat
Php training in surat
 
Wc13
Wc13Wc13
Wc13
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
 
Php
PhpPhp
Php
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
 
Php
PhpPhp
Php
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matterPHP - Programming language war, does it matter
PHP - Programming language war, does it matter
 

More from Jani Tarvainen

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsJani Tarvainen
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSJani Tarvainen
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationJani Tarvainen
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsJani Tarvainen
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLJani Tarvainen
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Jani Tarvainen
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with TwigJani Tarvainen
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishJani Tarvainen
 

More from Jani Tarvainen (8)

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam Wójs
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMS
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI Customization
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.js
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQL
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with Twig
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM

  • 1. Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM Jani Tarvainen - April 20th 2016
  • 2. About me - Jani Tarvainen • Working on the web professionally from 2000 in various roles in development, support operations, management and consulting • By day I help people build the web at eZ Systems • By night I do things at Malloc for fun/profit • On Twitter: @velmu
  • 3. PHP performance lately • PHP 5.6 • Opcode cache built in (since 5.5) • HHVM 3.x • Increased performance • Facebook's own Hacklang for features • PHP 7.0 • Increased performance and more efficient memory use • New PHP language features
  • 4. Compatibility • All three are are solid for production use • Symfony achieves 100% PHP7 compatibility • Symfony 2.3 achieves 100% HHVM compatibility • PHP 7 feature support in HHVM
  • 5. Benchmark case • Done using a full Symfony2 framework application - eZ Platform demo • A few page loads and REST API calls used • Tests done on dedicated VPSes, repeated 3 times and averages reported • Details: Symfony Benchmarks: PHP 5.6, HHVM 3.11 and PHP 7.0.1
  • 6. Benchmark case - Frontpage
  • 7. Benchmark case - Top Stories
  • 8. Benchmark case - Projects
  • 9. Benchmark case - REST API Call
  • 10. Memory usage and Response Time - Load Frontpage with empty runtime and Symfony caches
  • 11. Memory usage and Response Time - Load Frontpage with empty runtime and Symfony caches
  • 12. Memory usage and Response Time - Load Top Stories page
  • 13. Memory usage and Response Time - Load Top Stories page
  • 14. Memory usage and Response Time - Load Projects page
  • 15. Memory usage and Response Time - Load Projects page
  • 16. Memory usage and Response Time - Load Frontpage
  • 17. Memory usage and Response Time - Load Frontpage
  • 18. Requests served per second - Frontpage without Symfony Reverse Proxy
  • 19. Requests served per second - Frontpage with Symfony Reverse Proxy
  • 20. Requests served per second - API without Symfony Reverse Proxy
  • 21. Requests served per second - API with Symfony Reverse Proxy
  • 22. Conclusions • From a standing start HHVM can be the slowest (JIT) • HHVM beats PHP 5.6 in memory usage and throughput • PHP 7.0 is the fastest and uses a significantly than 5.6 or HHVM less memory • When you've got a lot of template processing, etc. the difference between HHVM and PHP 7.0 closes down, compared to that of the API calls
  • 23. Adoption • Prebuilt HHVM packages for Ubuntu, Debian • PHP 7.0 available for CentOS/RHEL, Debian • Containers (Docker, etc.) makes runtime packaging easier • PHP 7.0 is default in Ubuntu 16.04 LTS, release tomorrow (April 21st)
  • 24. What should I use? • PHP 5.6 is super safe • HHVM can be a boost for non PHP 7-compatible apps and Hacklang features • PHP 7.x is the future, I suggest targeting it • Some PHP 7 polyfills available: New in Symfony 2.8: Polyfill Components
  • 25. ...PHP-PM and PHPFastCGI? • Traditionally PHP boots up from scratch • PHP-PM and PHPFastCGI Running PHP as long running processes • High performance, but introduce memory leak worries, etc • Still work in progress, but stabilising • Details: PHP-FPM vs. PHP-PM (on PHP 7 and HHVM)
  • 26. Frontpage without Symfony Reverse Proxy
  • 27. API without Symfony Reverse Proxy
  • 28. Cool Links • Symfony Benchmarks: Introduction • How Badoo saved one million dollars switching to PHP7 • Migrating from PHP 5.6.x to PHP 7.0.x • Wikipedia on HHVM • Running Symfony Applications with PHP-PM or PHPFastCGI • PHP High-Performance - Follow Up with Symfony/Jarves.io and PHP- PM • Things to consider when developing an application with PHPFastCGI
  • 29. Questions? • Thank you! • http://symfony.fi/php-hhvm