Page 2 of 2 FirstFirst 12
Results 11 to 19 of 19

Thread: Facebook's HipHop 2.0 Virtual Machine Is Very Fast

  1. #11
    Join Date
    Nov 2008
    Location
    Madison, WI, USA
    Posts
    874

    Default

    Quote Originally Posted by clavko View Post
    Windows is a great OS and a high quality software product, there is no
    question about it. From the aspects of usability, support, software availability,
    hardware drivers... linux can look up to some of the standards delivered
    by MS products (not all, ofcourse).
    No, no, that's all wrong... The correct response is "Microsoft ate my baby and then stole my car... with my wife in the passenger seat".
    /sarcasm

    Windows is a good product in general, although I disagree with the direction that MS is taking with the UI for desktops in Windows 8. Their interface is nice for touch-enabled devices, but not so nice for the classic keyboard/mouse combination. Performance and stability, however, are fine. I've only managed to crash my Windows 7 desktop a couple times since Windows 7 was released, and some of those times were my own fault.

    I use Linux for the freedom and selection that it gives me as a user and as a software developer, not because Windows is an unacceptable choice. If I ever get to the point where all of my games work in either Linux or Wine, I'll probably delete the Windows partition on my main machine, and just keep a VM around for compatibility's sake.

  2. #12
    Join Date
    Apr 2013
    Posts
    2

    Default Re: wow

    Quote Originally Posted by etenil View Post
    This is really a great accomplishment, and I can guess more than one will be looking into installing this on their servers.

    A few things do trouble me however. It is weird that facebook doesn't even try to contribute this back to the PHP developers, surely there is much that can be merged and benefited from.

    Also why develop their own bytecode interpreter / JIT compiler when they could just use LLVM for this?

    I'm guessing that Facebook tries to remain in control of their stack, but duplication of effort on something that's open-source anyway is just puzzling.
    Hi there! I work on HipHop VM at Facebook and own a share of the credit/blame for HHVM's design and implementation.

    On your question about open-source, back in 2007 and 2008 Facebook contributed several patches back to Zend PHP 5.2 that delivered non-trivial performance improvements (something to the tune of 5-10% CPU reduction for FB's codebase IIRC), while at the same time we also experimenting with other available PHP engines and prototyping HPHPc (the old HipHop PHP->C++ compiler which has since been retired). After a certain point it became hard to get more gains from the Zend engine unless we substantially changed the core of the engine, and by early to mid 2009 HPHPc was getting close to being able to run Facebook's site and was looking promising.

    IHMO, we *are* giving back to the PHP community by open-sourcing HipHop VM, making it freely available to use, and having some engineers dedicated full-time to responding to issues reported by developers outside of Facebook. We're dedicated to maintaining a high compatibility bar with the Zend PHP engine; we want HipHop VM to be useful to developers outside of Facebook and we're slowing growing a community around it.

    On your LLVM question, we commonly get asked why we didn't use LLVM. In short, LLVM was not suitable for serving as the backend for JIT compiler when we started working on HipHop VM in 2010, and it still is lacking in this respect today. There's also advantages to owning our entire compiler stack as it gives us for flexibility to squeeze out the maximum possible performance for our PHP codebase in the long run. The Google developers who worked on Unladen Swallow (an execution engine for Python) did a nice write-up where they talked about a lot of the issues they ran into when trying to use LLVM as the backend for a JIT compiler: http://qinsb.blogspot.com/2011/03/un...ospective.html .

    -Drew Paroski

  3. #13
    Join Date
    Sep 2009
    Posts
    60

    Default Thanks Drew

    Thanks for the work on this. With numbers like these, the community will join you.
    Since PHP 5.4 released in Mar. 2012, my biggest concern would be in unimplemented features. Any plans to catch-up & stay with on PHP dev lock-step?

  4. #14
    Join Date
    Apr 2013
    Posts
    2

    Cool

    Quote Originally Posted by snadrus View Post
    Thanks for the work on this. With numbers like these, the community will join you.
    Since PHP 5.4 released in Mar. 2012, my biggest concern would be in unimplemented features. Any plans to catch-up & stay with on PHP dev lock-step?
    Yes, one of our goals this year is to make HipHop VM support the full PHP 5.4 language, to support more extensions than we currently do, and to make it easy for developers outside of FB to port existing extensions or write new extensions.

    At present we support most PHP 5.4 language features, including eval, traits, exceptions, late static binding, closures, magic methods (__get, __set, etc.), typehints, autoload, nowdocs, etc. Off the top of my head, the main features missing at present are namespaces and short array syntax, which we plan to add in the coming months. Also, there was some missing functionality with closures, but we've recently fixed that and the fixes should make it to our open-source github repo soon.

    Most of the missing functionality that external developers have reported is missing extensions. HipHop currently supports a few dozen of the popular Zend extensions, but there are still several popular Zend extensions that haven't been ported to HipHop yet. While we plan to port a few more extensions this year, we're focusing primarily on making it easier to add/port extensions to HHVM. This includes cleaning up HipHop's extension system to be more friendly, having good documentation, and possibly writing some tools to help port existing Zend extensions.

    If you're interested in checking out the source code or looking at the open issues, I encourage you to check out our open source github repository: https://github.com/facebook/hiphop-php . We also blog about HipHop on our Facebook page (https://www.facebook.com/hphp) and on our WordPress blog (http://www.hiphop-php.com/wp/).

  5. #15
    Join Date
    Mar 2013
    Posts
    172

    Default

    Quote Originally Posted by paroski View Post
    ...
    IHMO, we *are* giving back to the PHP community by open-sourcing HipHop VM, making it freely available to use, and having some engineers dedicated full-time to responding to issues reported by developers outside of Facebook. We're dedicated to maintaining a high compatibility bar with the Zend PHP engine; we want HipHop VM to be useful to developers outside of Facebook and we're slowing growing a community around it.
    ...
    Is great to see that the hiphop code has a C++ base instead of plain C, the code looks more elegant and organized than that of original PHP runtime. What would be appreciated is some better documentation on how to use hiphop as a reference for the configuration file.

  6. #16
    Join Date
    May 2013
    Posts
    2

    Question Can it run any unmodified php script?

    Quote Originally Posted by phoronix View Post
    Phoronix: Facebook's HipHop 2.0 Virtual Machine Is Very Fast

    Released last month by Facebook was their open-source HipHOp "HHVM" 2.0 virtual machine. Benchmarks of HHVM at Phoronix show that the code does live up to Facebook's performance claims...

    http://www.phoronix.com/vr.php?view=MTM0Njc
    Pardom my ignorance but does this means it can run any php script with out modification?

  7. #17
    Join Date
    Mar 2013
    Posts
    172

    Default

    Quote Originally Posted by adrianbro View Post
    Pardom my ignorance but does this means it can run any php script with out modification?
    technically yes, all core php extensions as some other ones have been ported to hiphop, also it supports all PHP language features with partial support for namespaces (which are currently been worked and improved)

    You may need to change certain things on some scripts but is most case they are minor.

  8. #18
    Join Date
    May 2013
    Posts
    2

    Question So one more question

    Quote Originally Posted by TheOne View Post
    technically yes, all core php extensions as some other ones have been ported to hiphop, also it supports all PHP language features with partial support for namespaces (which are currently been worked and improved)

    You may need to change certain things on some scripts but is most case they are minor.
    So the process would be to install Apache2 (or some other web Server) php5 mysql then hiphop. Or does hiphop replace the web server and php.

    Regards
    Adrian

  9. #19
    Join Date
    Mar 2013
    Posts
    172

    Default

    Quote Originally Posted by adrianbro View Post
    So the process would be to install Apache2 (or some other web Server) php5 mysql then hiphop. Or does hiphop replace the web server and php.

    Regards
    Adrian
    hiphop ships with a webserver that is pretty light on resources and seems to be pretty optimized, so no need for apache just a relational database if needed

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •