SlideShare a Scribd company logo
HipHop Virtual Machine
Ratheesh kumar R
From this session ..
★ WHO ?
★ FOR WHAT ?
★ STORY BEHIND THE INVENTION
★ CHANCES
★ RISKS
★ REFERENCE
2
facebook
★ Second largest website in the world.
★ 1.35 billion active users per month.
★ 9000 logins in every seconds.
★ 185 petabytes of data transfer per year.
★ 10-30 million lines of PHP code.
3
Performance Issues for Facebook
★ Facebook invented there on TCP/IP stack.
★ PHP is an interpreted language.
★ PHP waits for I/O devices,Database,HTTP Response.
4
Resource issues for Facebook
★ Runs on lakhs of servers.
★ Operational Cost.
★ Maintenance.
★ Space.
★ Employes
5
First Step in 2008
HipHop Compiler
Transform php into C++
6
Advantages of HipHop Compiler
★ Having all advantages of a compiled language.
★ Compilation need to be done once.
★ Only need to execute converted binary file.
★ Much faster than normal php execution.
★ Low resource usage.
★ Facebook saved around 10 to 20% of resource usage.
7
Issues with HipHop Compiler
★ Lost all the advantages of Interpreted Language.
★ Whole code need to compiled every time after a change.
★ 3 to 5 GB of binary code for facebook.
★ Hard to deploy in server.
★ Unhappy developers.
★ Hard to debug.
8
Second Step in 2010
HipHop Virtual Machine or
HHVM
Just-in-time compiler
9
What is HHVM ?
★ HipHop Virtual Machine
★ Created by engineers at Facebook
★ New PHP runtime.
★ Translates PHP to Bytecode(HHBC - Hip Hop ByteCode)
★ Just-in-time compiler, turning generated bytecode into machine code.
★ In some cases 5 to 10 times faster than regular PHP
★ No need of Zend Engine
10
Just-In-Time Compiler
11
Issues arose then ...
★ PHP is a loosely typed language.
★ Assembly language is strictly typed.
★ Hard to convert PHP to Assembly language.
★ Time taken for Type conversions.
★ Hard to implement a new language other than PHP.
12
Third Step in 2010
Programming Language for HHVM
13
Hack Programming Language
➔ Programming language for HHVM.
➔ Evolved from PHP.
➔ If you know PHP,you know Hack.
➔ Hack provides a more predictable PHP.
➔ Statically typed language.
14
PHP v/s HACK
15
Issues Solved & Chances of HHVM
★ Better performance.
★ Low resource usage.
★ Hack as the new PHP.
★ Write PHP extensions in PHP.
★ Good for hosting companies.
16
Risks in HHVM
★ No real open source project.
★ Facebook could loose interest.
★ A community split between PHP and Hack
★ Your favourite extension may not be available.
★ Limited IDE support.
★ Will not support 32-bit operating systems.
17
Happy people using HHVM
18
References
http://hacklang.org/
http://hhvm.com/
http://docs.hhvm.com/manual/en/index.php
https://github.com/facebook/hhvm
Google Keywords
Use “HipHop compiler” or “HHVM”
19
Questions ?
20

More Related Content

What's hot

Source-to-Source Compiler
Source-to-Source CompilerSource-to-Source Compiler
Source-to-Source CompilerMintoo Jakhmola
 
One VM to Rule Them All
One VM to Rule Them AllOne VM to Rule Them All
One VM to Rule Them All
Tianxiang Xiong
 
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based ProgrammingAddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
Samuel Lampa
 
FunScript: Why bother?
FunScript: Why bother?FunScript: Why bother?
FunScript: Why bother?
Alfonso Garcia-Caro
 
Php under the_hood
Php under the_hoodPhp under the_hood
Php under the_hoodfrank_neff
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
Pharo
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the FutureOnivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
Bryan Phelps
 
Building CLIs with Ruby
Building CLIs with RubyBuilding CLIs with Ruby
Building CLIs with Ruby
drizzlo
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
Pavan Kalyan
 
Let your REST API talk
Let your REST API talkLet your REST API talk
Let your REST API talk
hrabur
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
Pharo
 
Ruby Introduction
Ruby IntroductionRuby Introduction
Ruby IntroductionPrabu D
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPC
Anthony Ferrara
 
Golang
GolangGolang
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François SaussetFrom Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
Pôle Systematic Paris-Region
 
Introduction to Kotlin coroutines
Introduction to Kotlin coroutinesIntroduction to Kotlin coroutines
Introduction to Kotlin coroutines
Roman Elizarov
 
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOUHOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
Lucas Jellema
 
Unity and Flash, the best of both worlds! - Unite presentation slides
Unity and Flash, the best of both worlds! - Unite presentation slidesUnity and Flash, the best of both worlds! - Unite presentation slides
Unity and Flash, the best of both worlds! - Unite presentation slides
paultondeur
 
Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)
lennartkats
 
Fun Ruby
Fun Ruby Fun Ruby
Fun Ruby
Guilherme Carlos
 

What's hot (20)

Source-to-Source Compiler
Source-to-Source CompilerSource-to-Source Compiler
Source-to-Source Compiler
 
One VM to Rule Them All
One VM to Rule Them AllOne VM to Rule Them All
One VM to Rule Them All
 
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based ProgrammingAddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
 
FunScript: Why bother?
FunScript: Why bother?FunScript: Why bother?
FunScript: Why bother?
 
Php under the_hood
Php under the_hoodPhp under the_hood
Php under the_hood
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the FutureOnivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
 
Building CLIs with Ruby
Building CLIs with RubyBuilding CLIs with Ruby
Building CLIs with Ruby
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
 
Let your REST API talk
Let your REST API talkLet your REST API talk
Let your REST API talk
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
 
Ruby Introduction
Ruby IntroductionRuby Introduction
Ruby Introduction
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPC
 
Golang
GolangGolang
Golang
 
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François SaussetFrom Python to smartphones: neural nets @ Saint-Gobain, François Sausset
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
 
Introduction to Kotlin coroutines
Introduction to Kotlin coroutinesIntroduction to Kotlin coroutines
Introduction to Kotlin coroutines
 
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOUHOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
 
Unity and Flash, the best of both worlds! - Unite presentation slides
Unity and Flash, the best of both worlds! - Unite presentation slidesUnity and Flash, the best of both worlds! - Unite presentation slides
Unity and Flash, the best of both worlds! - Unite presentation slides
 
Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)
 
Fun Ruby
Fun Ruby Fun Ruby
Fun Ruby
 

Viewers also liked

Are you ready to be hacked?
Are you ready to be hacked?Are you ready to be hacked?
Are you ready to be hacked?
Daniel Kanchev
 
Hiphop php
Hiphop phpHiphop php
Hiphop php
rajesh_bakade65
 
HHVM and Hack: A quick introduction
HHVM and Hack: A quick introductionHHVM and Hack: A quick introduction
HHVM and Hack: A quick introduction
Kuan Yen Heng
 
Life As A Fraudster: Carding 101
Life As A Fraudster: Carding 101Life As A Fraudster: Carding 101
Life As A Fraudster: Carding 101
Kount
 
Hello world program
Hello world programHello world program
Hello world program
Spy Seat
 
Whats app Sniffer - How To Hack Whatsapp Messages
Whats app Sniffer - How To Hack Whatsapp Messages Whats app Sniffer - How To Hack Whatsapp Messages
Whats app Sniffer - How To Hack Whatsapp Messages
besthacktoolz
 
C language in hindi (cलेग्वेज इन हिंदी )
C language  in hindi (cलेग्वेज इन हिंदी )C language  in hindi (cलेग्वेज इन हिंदी )
C language in hindi (cलेग्वेज इन हिंदी )
Chand Rook
 
Broiler Production by Dr. Farooq Sarwar
Broiler Production by Dr. Farooq SarwarBroiler Production by Dr. Farooq Sarwar
Broiler Production by Dr. Farooq Sarwar
Farooq Chohadry
 
關於履歷表, 我想說的其實是...
關於履歷表, 我想說的其實是...關於履歷表, 我想說的其實是...
關於履歷表, 我想說的其實是...
Keynes Cheng
 
Indian Army
Indian ArmyIndian Army
Indian Army
Sridhar Srinivas
 
Whatsapp PPT Presentation
Whatsapp PPT PresentationWhatsapp PPT Presentation
Whatsapp PPT Presentation
VOCCE ICT
 
How to become a data scientist in 6 months
How to become a data scientist in 6 monthsHow to become a data scientist in 6 months
How to become a data scientist in 6 months
Tetiana Ivanova
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
Abhishek Dwivedi
 
whatsapp ppt
whatsapp pptwhatsapp ppt
whatsapp ppt
Swati Luthra
 
Want to keep your IT career? Never stop learning
Want to keep your IT career? Never stop learningWant to keep your IT career? Never stop learning
Want to keep your IT career? Never stop learning
The Art of Service Pty Ltd
 
Deep C
Deep CDeep C
Deep C
Olve Maudal
 

Viewers also liked (18)

Are you ready to be hacked?
Are you ready to be hacked?Are you ready to be hacked?
Are you ready to be hacked?
 
Hacking
HackingHacking
Hacking
 
Hiphop php
Hiphop phpHiphop php
Hiphop php
 
HHVM and Hack: A quick introduction
HHVM and Hack: A quick introductionHHVM and Hack: A quick introduction
HHVM and Hack: A quick introduction
 
Life As A Fraudster: Carding 101
Life As A Fraudster: Carding 101Life As A Fraudster: Carding 101
Life As A Fraudster: Carding 101
 
Hello world program
Hello world programHello world program
Hello world program
 
Whats app Sniffer - How To Hack Whatsapp Messages
Whats app Sniffer - How To Hack Whatsapp Messages Whats app Sniffer - How To Hack Whatsapp Messages
Whats app Sniffer - How To Hack Whatsapp Messages
 
C language in hindi (cलेग्वेज इन हिंदी )
C language  in hindi (cलेग्वेज इन हिंदी )C language  in hindi (cलेग्वेज इन हिंदी )
C language in hindi (cलेग्वेज इन हिंदी )
 
Broiler Production by Dr. Farooq Sarwar
Broiler Production by Dr. Farooq SarwarBroiler Production by Dr. Farooq Sarwar
Broiler Production by Dr. Farooq Sarwar
 
Whatsapp project work
Whatsapp project workWhatsapp project work
Whatsapp project work
 
關於履歷表, 我想說的其實是...
關於履歷表, 我想說的其實是...關於履歷表, 我想說的其實是...
關於履歷表, 我想說的其實是...
 
Indian Army
Indian ArmyIndian Army
Indian Army
 
Whatsapp PPT Presentation
Whatsapp PPT PresentationWhatsapp PPT Presentation
Whatsapp PPT Presentation
 
How to become a data scientist in 6 months
How to become a data scientist in 6 monthsHow to become a data scientist in 6 months
How to become a data scientist in 6 months
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
whatsapp ppt
whatsapp pptwhatsapp ppt
whatsapp ppt
 
Want to keep your IT career? Never stop learning
Want to keep your IT career? Never stop learningWant to keep your IT career? Never stop learning
Want to keep your IT career? Never stop learning
 
Deep C
Deep CDeep C
Deep C
 

Similar to Hiphop - PHP

PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
Oto Brglez
 
Php myths
Php mythsPhp myths
Php myths
Kapil Sharma
 
Introduction to PHP Basics
Introduction to PHP BasicsIntroduction to PHP Basics
Introduction to PHP Basics
TheCreativedev Blog
 
Hhvm vs php
Hhvm vs phpHhvm vs php
01 Php Introduction
01 Php Introduction01 Php Introduction
01 Php Introduction
Geshan Manandhar
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
Eric Johnson
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
Combell NV
 
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
Ivo Jansch
 
Magento on HHVM. Daniel Sloof
Magento on HHVM. Daniel SloofMagento on HHVM. Daniel Sloof
Magento on HHVM. Daniel Sloof
MeetMagentoNY2014
 
How to learn to code
How to learn to codeHow to learn to code
How to learn to code
Amit Kumar
 
What is PHP ?
What is PHP ?What is PHP ?
What is PHP ?
Sameer Poudel
 
Training ppt
Training pptTraining ppt
Training ppt
nikita vijay
 
PHP
PHPPHP
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
Sharbani Bhattacharya
 
PHP V/s ASP.net
PHP V/s ASP.netPHP V/s ASP.net
PHP V/s ASP.net
Krishna Puranik
 
PHP V/s ASP .net
PHP V/s ASP .netPHP V/s ASP .net
PHP V/s ASP .net
Krishna Puranik
 
IPC 2013 - High Performance PHP with HipHop
IPC 2013 - High Performance PHP with HipHopIPC 2013 - High Performance PHP with HipHop
IPC 2013 - High Performance PHP with HipHop
Steve Kamerman
 
01 - First Meetup
01 - First Meetup01 - First Meetup
01 - First MeetupEdiPHP
 

Similar to Hiphop - PHP (20)

PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
Php myths
Php mythsPhp myths
Php myths
 
Introduction to PHP Basics
Introduction to PHP BasicsIntroduction to PHP Basics
Introduction to PHP Basics
 
Hhvm vs php
Hhvm vs phpHhvm vs php
Hhvm vs php
 
01 Php Introduction
01 Php Introduction01 Php Introduction
01 Php Introduction
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
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
 
Magento on HHVM. Daniel Sloof
Magento on HHVM. Daniel SloofMagento on HHVM. Daniel Sloof
Magento on HHVM. Daniel Sloof
 
How to learn to code
How to learn to codeHow to learn to code
How to learn to code
 
Daniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVMDaniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVM
 
What is PHP ?
What is PHP ?What is PHP ?
What is PHP ?
 
Training ppt
Training pptTraining ppt
Training ppt
 
PHP
PHPPHP
PHP
 
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
 
PHP V/s ASP.net
PHP V/s ASP.netPHP V/s ASP.net
PHP V/s ASP.net
 
PHP V/s ASP .net
PHP V/s ASP .netPHP V/s ASP .net
PHP V/s ASP .net
 
IPC 2013 - High Performance PHP with HipHop
IPC 2013 - High Performance PHP with HipHopIPC 2013 - High Performance PHP with HipHop
IPC 2013 - High Performance PHP with HipHop
 
PHP .ppt
PHP .pptPHP .ppt
PHP .ppt
 
01 - First Meetup
01 - First Meetup01 - First Meetup
01 - First Meetup
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

Hiphop - PHP

  • 2. From this session .. ★ WHO ? ★ FOR WHAT ? ★ STORY BEHIND THE INVENTION ★ CHANCES ★ RISKS ★ REFERENCE 2
  • 3. facebook ★ Second largest website in the world. ★ 1.35 billion active users per month. ★ 9000 logins in every seconds. ★ 185 petabytes of data transfer per year. ★ 10-30 million lines of PHP code. 3
  • 4. Performance Issues for Facebook ★ Facebook invented there on TCP/IP stack. ★ PHP is an interpreted language. ★ PHP waits for I/O devices,Database,HTTP Response. 4
  • 5. Resource issues for Facebook ★ Runs on lakhs of servers. ★ Operational Cost. ★ Maintenance. ★ Space. ★ Employes 5
  • 6. First Step in 2008 HipHop Compiler Transform php into C++ 6
  • 7. Advantages of HipHop Compiler ★ Having all advantages of a compiled language. ★ Compilation need to be done once. ★ Only need to execute converted binary file. ★ Much faster than normal php execution. ★ Low resource usage. ★ Facebook saved around 10 to 20% of resource usage. 7
  • 8. Issues with HipHop Compiler ★ Lost all the advantages of Interpreted Language. ★ Whole code need to compiled every time after a change. ★ 3 to 5 GB of binary code for facebook. ★ Hard to deploy in server. ★ Unhappy developers. ★ Hard to debug. 8
  • 9. Second Step in 2010 HipHop Virtual Machine or HHVM Just-in-time compiler 9
  • 10. What is HHVM ? ★ HipHop Virtual Machine ★ Created by engineers at Facebook ★ New PHP runtime. ★ Translates PHP to Bytecode(HHBC - Hip Hop ByteCode) ★ Just-in-time compiler, turning generated bytecode into machine code. ★ In some cases 5 to 10 times faster than regular PHP ★ No need of Zend Engine 10
  • 12. Issues arose then ... ★ PHP is a loosely typed language. ★ Assembly language is strictly typed. ★ Hard to convert PHP to Assembly language. ★ Time taken for Type conversions. ★ Hard to implement a new language other than PHP. 12
  • 13. Third Step in 2010 Programming Language for HHVM 13
  • 14. Hack Programming Language ➔ Programming language for HHVM. ➔ Evolved from PHP. ➔ If you know PHP,you know Hack. ➔ Hack provides a more predictable PHP. ➔ Statically typed language. 14
  • 16. Issues Solved & Chances of HHVM ★ Better performance. ★ Low resource usage. ★ Hack as the new PHP. ★ Write PHP extensions in PHP. ★ Good for hosting companies. 16
  • 17. Risks in HHVM ★ No real open source project. ★ Facebook could loose interest. ★ A community split between PHP and Hack ★ Your favourite extension may not be available. ★ Limited IDE support. ★ Will not support 32-bit operating systems. 17