News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

HHVM Blog:
The Journey of a Thousand Bytecodes
October 06, 2014 @ 12:49:38

In the latest post to the HHVM (HipHop VM) blog Sara Golemon recounts the journey of a thousand bytecodes and the process that it takes to decompose a PHP file and optimize it for execution in the HHVM environment.

Compilers are fun. They take nice, human readable languages like PHP or Hack and turn them into lean, mean, CPU executin' turing machines. Some of these are simple enough a CS student can write one up in a weekend, some are the products of decades of fine tuning and careful architecting. Somewhere in that proud tradition stands HHVM; In fact it's several compilers stacked in an ever-growing chain of logic manipulation and abstractions. This article will attempt to take the reader through the HHVM compilation process from PHP-script to x86 machine code, one step at a time.

The process is broken down into six different steps, each with a description and some code examples where relevant:

  • Lexing the PHP to get its tokens
  • Parsing the token results into an AST (and optimizing it along the way)
  • Compilation to Bytecode
  • HHBBC Optimization
  • Intermediate Representation
  • Virtual Assembly
  • Emitting machine code
0 comments voice your opinion now!
hhvm bytecode process hiphop compile decode optimize

Link: http://hhvm.com/blog/6323/the-journey-of-a-thousand-bytecodes

HHVM Blog:
HHVM Long Term Support
September 03, 2014 @ 10:50:20

The HHVM (HipHop VM from Facebook) has released an update on their blog today discussing some of the long term support they plan to provide for the project and what kinds of things it will involve.

HHVM is known for its very intense and quick development pace: currently we ship to GitHub the exact same code we use to run the Facebook site within minutes of every commit, and we release a full version every 8 weeks. That is great and at the same time scary if you are trying to build a business or infrastructure around it. The HHVM team at Facebook understands that in order to reach every corner of the PHP landscape our users need to have some sort of commitment, in order to plan their deployments accordingly and to know how upstream will react to security and stability fixes in already released versions, for example.

Starting with HHVM v3.3, they'll be supporting two major versions at all times. They provide a table of versions and dates to give you an idea of when the support coverage period is and when they'll end. There's also some discussions about the packaged released for the various linux distributions and what kinds of updates might be included in the long-term support (LTS) updates.

0 comments voice your opinion now!
hhvm support hiphop virtualmachine schedule longterm version

Link: http://hhvm.com/blog/6083/hhvm-long-term-support

HHVM Blog:
HHVM 3.1.0
May 30, 2014 @ 11:56:54

On the HHVM blog today they've announce the release of the latest version of the popular project, version 3.1.0. This version fixes a few issues (including a segfault) and crossed into their semi-annual "lockdown" to work directly on the project.

If you remember last time we focused on framework unit tests, performance, and growing beards. This time, our frameworks were in good shape thanks to Fred and our Open Academy students, but our github story was not as pretty. At the start of lockdown we had 60 pull requests and nearly 450 issues. So our focus this time was github health and of course as always, perf.

In the end they closed out 251GitHub issues and made things 16% more efficient in the process. They list out some of the updates in this release including:

You can grab this latest release from the pre-build packages page on the GitHub project account.

0 comments voice your opinion now!
hiphop vm hhvm release version github issues

Link: http://hhvm.com/blog/5195/hhvm-3-1-0

HHVM Blog:
Implementing MySQLi
February 27, 2014 @ 11:15:39

On the HHVM blog today a new post talks about some of the work they've been doing to introduce one of the common PHP extensions, MySQLi, into the HHVM system. The post walks you through some of the process the author followed to work up the implementation.

To prepare for what was to be my big project, I rewrote the ini parser to better match Zend. [...] After warming up with the parser, I was ready to start my big project: implement MySQLi. This has been a long requested feature for HHVM. And, this extension is required to help meet our compatibility goals.

He walks you through some of the preparation steps for the work integrating the extension and the tools used for these initial steps. He briefly steps through the actual implementation and the testing of the feature (and some changes made to allow the tests to run faster). He mentions a few roadblocks hit along the way, the current status of the effort (182 passing tests, 114 failing) and some of the missing pieces yet to be worked.

0 comments voice your opinion now!
mysqli hhvm hiphop facebook virtualmachine implementation

Link: http://www.hhvm.com/blog/3689/implementing-mysqli

HHVM Blog:
HHVM The Next Six Months
February 26, 2014 @ 11:09:35

In their latest post the HHVM project (of Facebook) has laid out the next six months ahead for the development and progression on the project. In it they talk some about their "themes" and overall Open Source goals planned for the first part of 2014.

The HHVM team has just wrapped up its planning for the first half of 2014. We'd like to share our plans, providing you a bit of context. We've been making steady progress on HHVM's compatibility with PHP in the wild, but we still have a lot of work ahead of us. We're using unit test pass rates as a proxy for success measurement, but you can help by adding HHVM to your Travis configuration, and reporting bugs and issues through GitHub. We are resourced to help support a couple of major HHVM deployments, which we hope has the side effect of exposing us to "non-Facebook" deployment and maintenance challenges.

We are also going to push for a more open development model, with the goal of increasing our community participation. We'll have more to say on what this means later on. Stay tuned!

They also cover some of the work being done to increase the overall efficiency, reducing CPU time and memory consumption. There's also mention of work being done on a guide to "hacking" in the HHVM, reducing some complexity in the compiler and the conversion to a full HNI extension interface.

0 comments voice your opinion now!
hhvm six month roadmap hiphop facebook performance hackable opensource

Link: http://www.hhvm.com/blog/3743/hhvm-the-next-six-months

Community News:
PuPHPet Adds Support for HHVM
February 21, 2014 @ 09:36:36

Juan Treminio passed along a note about his GUI-based virtual machine builder PuPHPet and some recent advancements in what it supports.

PuPHPet just added support for HHVM via FastCGI for Apache/Nginx and needs your help to create a VM and report any bugs encountered to make the experience as smooth as possible.

PuPHPet makes creating Vagrant/Puppet configurations much simpler and does a lot of the hard work for you. The project is also open sourced on GitHub so you can always add support for anything you might not see.

0 comments voice your opinion now!
puphpet hhvm hiphop virtualmachine vagrant puppet

Link: https://puphpet.com/

Allan MacGregor:
Magento and HHVM
February 18, 2014 @ 09:12:59

Allan MacGregor has a new post sharing some of his research into getting Magento working on the HHVM (the HipHop VM) and some of the benchmarks of the results.

Magento is (in)famous for its performance, specially when scaling to a large numbers products, transactions or even catalog rules, seasoned Magento developers have probably hit at least one of this performance bottle necks more than once. [...] And while all the optimizations help, in the end there is a major performance bottleneck that is not as easily surpassed and that is PHP performance, since PHP is an interpreted language there is price to pay in terms of speed of execution and overall performance.

He introduces the HHVM briefly for those not familiar with it and some of the work already in progress to make Magento cooperate. He walks you though a complete installation of both the HHVM, cloning it from GitHub, and configuring it with the settings needed for Magento to run correctly. Once the HHVM instance is started, he runs some tests with siege comparing the results from the built-in PHP web server versus the HHVM install.

0 comments voice your opinion now!
magento hhvm hiphop installation tutorial configuration

Link: http://coderoncode.com/2014/02/17/magento-hhvm.html

HipHop Virtual Machine Blog:
Nightly Packages
January 23, 2014 @ 09:19:10

On the HipHop Virtual Machine blog today they're announcing a new option for those that "just can't wait" to get the latest and greatest HHVM version - nightly packages.

If you just can't wait to get your hands on the latest HHVM code, but you don't want to spend the time to compile it, we have a present for you. Every midnight, we run a script that pulls whatever is in master, compiles it, does a sanity check, builds a package and sends it off to the repo. You can then use it by adding the HHVM repo normally and then installing the "hhvm-nightly" package instead of the "hhvm" package. The nightly package should work identically to the current 8 week release cycle package; it will just have all the most recent commits with much less of the testing and hardening (so beware).

The post also includes three examples of the commands to grab this nightly release (via dl.hhvm.com) and install the "hhvm-nightly" package.

0 comments voice your opinion now!
hiphop virtualmachine vm nightly package

Link: http://www.hhvm.com/blog/3203/nightly-packages

HHVM Blog:
We are the 98.5% (and the 16%)
December 24, 2013 @ 10:25:21

On the Facebook HHVM (HipHop VM) blog there's a recent post sharing some of their progress towards parity with the PHP language inside the tool (and the results of their "three week lockdown").

On November 4th, the HHVM team went on a 3-week performance and parity lockdown. The lockdown officially ended on November 22th. Overall, this lockdown was a qualified success. [...] Going into lockdown, the team knew that awesome performance alone would not suffice in making HHVM a viable PHP runtime to be used out in the wild. It actually had to run real, existing PHP code reliably.

In the post they include some numbers from their testing, the pass/fail status of the unit test suites for several major PHP projects including Composer, Joomla, Laravel, Slim and phpMyAdmin (with an overall parity of 98.58%). They share the raw numbers of the results and describe some of the testing environment, including some "assumptions and caveats" about the process. They also contributed back fixes as a part of the work, putting pull requests out there for several projects. They finish the post with some of the performance numbers, noting that they passed their goal and made it to 16% for an instance of facebook.com.

0 comments voice your opinion now!
hiphop virtualmachine vm performance parity unittest

Link: http://www.hhvm.com/blog/2813/we-are-the-98-5-and-the-16

HHVM Blog:
FasterCGI with HHVM
December 18, 2013 @ 09:19:35

On the HHVM blog today they've posted an announcement about a new feature of this already powerful environment to help broaden the user base - FastCGI support.

Today, we are happy to announce FastCGI support for HHVM. FastCGI is a popular protocol for communication between an application server (e.g. running your PHP code) and a webserver. With support for FastCGI, you will be able to run HHVM behind any popular web server (Apache, Nginx, Lighttpd, etc). The webserver is in charge of handling all the intricate details of the HTTP protocol. HHVM is in charge of what it does best, running PHP code blazingly fast.

The post goes on to talk about how it all works including how it enables an instance of HHVM to run between requests (and serving multiple requests in parallel). It uses asynchronous I/O and a separate set of worker threads to execute the code. The rest of the post shares the results of a few benchmarks and gives you a step-by-step guide to getting it up and running.

0 comments voice your opinion now!
hhvm fastercgi fastcgi install benchmark introduction hiphop

Link: http://www.hhvm.com/blog/1817/fastercgi-with-hhvm


Community Events





Don't see your event here?
Let us know!


introduction deployment interview list series install podcast laravel release zendserver framework update library api opinion symfony tips language package community

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework