{"id":304,"date":"2010-02-03T00:13:28","date_gmt":"2010-02-03T07:13:28","guid":{"rendered":"http:\/\/mitchmckenna.com\/blog\/?p=304"},"modified":"2022-12-30T21:41:55","modified_gmt":"2022-12-31T04:41:55","slug":"facebook-unveils-hiphop-for-php","status":"archive","type":"post","link":"http:\/\/mitchmckenna.com\/blog\/2010\/02\/facebook-unveils-hiphop-for-php\/","title":{"rendered":"Facebook Unveils HipHop for PHP"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"305\" data-permalink=\"http:\/\/mitchmckenna.com\/blog\/2010\/02\/facebook-unveils-hiphop-for-php\/hiphop_logo_white\/\" data-orig-file=\"https:\/\/i0.wp.com\/mitchmckenna.com\/blog\/wp-content\/uploads\/2010\/02\/HipHop_logo_white-e1265180391346.png?fit=115%2C149\" data-orig-size=\"115,149\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"HipHop_logo_white\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/mitchmckenna.com\/blog\/wp-content\/uploads\/2010\/02\/HipHop_logo_white-e1265180391346.png?fit=115%2C149\" data-large-file=\"https:\/\/i0.wp.com\/mitchmckenna.com\/blog\/wp-content\/uploads\/2010\/02\/HipHop_logo_white-e1265180391346.png?fit=115%2C149\" src=\"https:\/\/i0.wp.com\/mitchmckenna.com\/blog\/wp-content\/uploads\/2010\/02\/HipHop_logo_white-e1265180391346.png?resize=115%2C149\" alt=\"\" title=\"HipHop_logo_white\" width=\"115\" height=\"149\" class=\"alignright size-full wp-image-305\">Today, <a href=\"http:\/\/developers.facebook.com\/news.php?blog=1&amp;story=358\">Facebook announced<\/a> it&#8217;s open sourcing a new runtime intended to improve PHP use in large-scale deployments.<\/p>\n<p>In a short summary, as Facebook scaled they encountered problems with PHP, including high CPU and memory costs. Facebook describes HipHop as a \u201csource code transformer\u201d. Basically, HipHop transforms PHP into C++, using g++ to compile it. In their test cases it uses 50% less CPU compared to PHP (with <a href=\"http:\/\/pecl.php.net\/package\/APC\">APC<\/a>). This doesn&#8217;t mean pages load faster, it means serving millions of page views requires less servers. It&#8217;s being used on 90% of Facebook\u2019s production servers now. HipHop&#8217;s got it&#8217;s own http server built-in, but they said support for Apache as a web server option is in the works.<\/p>\n<p>You can read Facebook&#8217;s full article <a href=\"http:\/\/developers.facebook.com\/news.php?blog=1&amp;story=358\">here<\/a>.<br \/>\nBrandon Savage has an overview of <a href=\"http:\/\/www.brandonsavage.net\/hiphop-for-php-who-benefits-who-doesnt\/\">who benefits from this<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<a href=\"http:\/\/mitchmckenna.com\/blog\/2010\/02\/facebook-unveils-hiphop-for-php\/\" rel=\"bookmark\" title=\"Permalink to Facebook Unveils HipHop for PHP\"><p>Today, Facebook announced it&#8217;s open sourcing a new runtime intended to improve PHP use in large-scale deployments. In a short summary, as Facebook scaled they encountered problems with PHP, including high CPU and memory costs. Facebook describes HipHop as a \u201csource code transformer\u201d. Basically, HipHop transforms PHP into C++, using g++ to compile it. In [&hellip;]<\/p>\n<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[62,63],"class_list":{"0":"post-304","1":"post","2":"type-post","3":"status-archive","4":"format-standard","6":"category-uncategorized","7":"tag-facebook","8":"tag-php","9":"h-entry","10":"hentry"},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p92wZA-4U","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/posts\/304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":11,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":1433,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/posts\/304\/revisions\/1433"}],"wp:attachment":[{"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mitchmckenna.com\/blog\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}