Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Facebook HipHop serves 70% more traffic on same hardware (theregister.co.uk)
77 points by daveman692 on March 31, 2011 | hide | past | favorite | 28 comments


Three comments: 1) The Register is to 'news' as the New York Post is to the New York Times, which is to say its amusing at times and sometimes a good lead into something that is actually important, but rarely the definitive source for any story.

2) The entrepreneurial take away is that Web 2.0 has been racing ahead of hardware, its been able to do that because computers got better faster and iterating has proven more valuable that polishing.

There are opportunities to be found by taking a good long look at where the technologies used can benefit from abstraction/compilation love. Remember that in 2005 putting together a 8,000 'node' cluster was really on the fringe, today that is 500 boxes with a dual Core i7 motherboard in them.

3) In case you haven't noticed this reads like a Facebook Fanboi insulting a Google Fanboi. Apparently it was modestly successful in this regard if you measure success by vitriol in the comments on the article.


What could this sentence possibly mean?

"His crew can build a more than 1GB in about 15 minutes (after stripping out debug information)"

1GB binary? 1GB of PHP? 1GB of C++ output? None of these sound like a good idea.


Stop playing telephone and just read the original: http://www.facebook.com/notes/facebook-engineering/hiphop-fo...


I think it's the output. Also, the timing is relevant as the project documentation keeps talking about distributed compiling etc. I think that's how the sentence was meant: we can compile 1GB in 15 minutes (speed).


Original FB blog post, which has more facts less fanboi trolling: http://news.ycombinator.com/item?id=2390751


Article is factually incorrect; MediaWiki doesn't run on HipHop yet. They're currently discussing adding support on their dev list.


The idea is that you can still code with high-level PHP, but then get the performance of C++

I love this quote, because C++ was built with the exact same abstraction in mind.


"Unlike Google, you see, Facebook has been known to promptly open-source some of the most important pieces of its back-end infrastructure."


Is this actually inaccurate though? Google has released tons of open source software, but which of them are important pieces of its back-end infrastructure? Hadoop and all its sub-projects are inspired by Google papers but aren't based on Google code, as far as I know. The projects that come to mind are Sawzall (of dubious usefulness to people outside Google), gold linker, possibly Go language (but I don't know to what extent that's used within Google), and what else? Probably a lot of contributions to open-source that it uses, like the Linux kernel, but I'm after whole projects created by Google. Python doesn't count because it was already open source before they acquired GvR.

Compare to Facebook, which has open-sourced Cassandra, Hive, HipHop, Thrift, Tornado, and others which I may be forgetting. Seems to me that Facebook is way ahead.

Edit: just remembered a Protocol Buffers, that's a good one to put under Google's column.


Google has a lot of smaller projects that are very useful and well-written:

- Closure Compiler for Javascript: http://code.google.com/closure/compiler/

- Sparse hashtable: http://goog-sparsehash.sourceforge.net/

- Chromium

- Android

- V8 JS engine

- WebM

And this more comprehensive list: http://code.google.com/hosting/search?q=label:google


Right. None of which you could reasonably describe as "the most important pieces of its back-end infrastructure," unlike HipHop, Thrift, HBase, Cassandra, memcache, etc. at Facebook. Google has contributed a ton of wonderful products to open source; however they will never contribute BigTable, MapReduce, GFS, Chubby, GoogleBot, their indexing pipeline, the actual reverse index query execution engines, the search engine aggregators, Spanner, etc.

If you think about it, this is all perfectly sensible. Google sees back-end technology as a key competitive differentiator. Facebook needs to build back-end technology, too, but is not as vulnerable to a technologically equal competitor; if we were, Google would have made good on their promise to destroy us by now.

Disclaimer: I'm a Facebook engineer who contributes to the HipHop effort.


i guess thats all true. i think the release of the go language will prove to be a huge milestone for google both in terms of open source releases and in terms of projects by googlers.


You're correct, but I think the article's statement is misleading.


I'm not personally a fan but isn't GWT an open sourcing of what the use to build gmail, etc? http://code.google.com/webtoolkit/


"No one is using BigTable or the Second Coming of the Google File System. Except for Google."

I've never read anything from theregister before, but is this really what to expect?


Yes, they're a self-described IT tabloid. It can be entertaining but usually falls short.


And the link is to Caffeine-- Google's new indexing system. It seems really crazy. Like saying:

"Facebook's servers are running blazingly fast PHP code and they're not even using Android, Google's operating system for cheap hardware."


Very useful projects like Protocol Buffers & Gtest (unit-testing framework) come to mind..


This irked me, Google has contributed quite a bit to the open source world.


So they dropped some rarely used functionality from PHP,... like serialization.

Excuse me, "rarely used"?? Drupal strongly depends on serialization, to store data structures in the database (or, as they call it, "the cache").

You cannot effectively run Drupal without serialization. So "The likes of Drupal, MediaWiki, and WordPress are now using HipHop." sounds like it cannot be true.


I think they're referring to how APC serializes data structures internally, not the serialize() function. I might be wrong, but that's how I read it.

edit: https://github.com/facebook/hiphop-php/wiki/Unimplemented-Fu...

That's a list of unimplemented functions - unserialize_callback_func is unimplemented, but that's it wrt serialization functions.


Except APC doesn't actually serialize anything except for objects. Arrays and scalar types are directly memcpy'ed in and out of the APC user cache. But this author is extremely confused. I think he may have confused APC with Memcache here. They have done some work on the PHP Memcache extension to remove the need to serialize making it behave more like APC.


I think Facebook is worried more about scale, hence HipHop. Drupal doesn't scale well at all and shouldn't be used as an example of what's best practice. Otherwise we'd see tons of products having function chains longer than a tapeworm.


PHP, the COBOL of the 21st century.


No, Java is the COBOL of the 21st century. There's not a whole lot of business logic being done with PHP. There's a ton done with Java, though.


Yea but at the end of the century no one will ask with the same incredulity why we wrote anything in Java as why we wrote anything in PHP.


If you're going to inflame language wars why hide behind throwaway accounts?


Haven't felt the need to comment till now. Language wars help pass the time when you need a distraction :).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: