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

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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