<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: HipHop For PHP: Who Benefits, Who Doesn&#8217;t</title>
	<atom:link href="http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:09:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: terry chay</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2948</link>
		<dc:creator>terry chay</dc:creator>
		<pubDate>Sat, 06 Feb 2010 01:38:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2948</guid>
		<description>Actually, Facebook is technically running more than one PHP application at the same time—when they release an update. What goes on is two HipHop servers are started and they are switched over at runtime using port takeover.

The basic issue is for HipHop to work, it has to survey the code of your entire application. If you have multiple applications you have to either build multiple binary projects (and multiple servers), or build it as a large single project. This means Digestivity’s use case is an explicity no-no in HipHop.

Similarly moronkreacionz is out since the whole thing is built &quot;as a piece&quot; and not as a library. The exception is if you’ve already isolated that part into a highly-cohesive unit that is loosely coupled via web API. In that case, you can just launch it &quot;as-is&quot; if it compiles at all.</description>
		<content:encoded><![CDATA[<p>Actually, Facebook is technically running more than one PHP application at the same time—when they release an update. What goes on is two HipHop servers are started and they are switched over at runtime using port takeover.</p>
<p>The basic issue is for HipHop to work, it has to survey the code of your entire application. If you have multiple applications you have to either build multiple binary projects (and multiple servers), or build it as a large single project. This means Digestivity’s use case is an explicity no-no in HipHop.</p>
<p>Similarly moronkreacionz is out since the whole thing is built &#8220;as a piece&#8221; and not as a library. The exception is if you’ve already isolated that part into a highly-cohesive unit that is loosely coupled via web API. In that case, you can just launch it &#8220;as-is&#8221; if it compiles at all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: moronkreacionz</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2942</link>
		<dc:creator>moronkreacionz</dc:creator>
		<pubDate>Thu, 04 Feb 2010 13:08:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2942</guid>
		<description>I think @digitivityorg meant the same thing ?</description>
		<content:encoded><![CDATA[<p>I think @digitivityorg meant the same thing ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: moronkreacionz</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2941</link>
		<dc:creator>moronkreacionz</dc:creator>
		<pubDate>Thu, 04 Feb 2010 13:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2941</guid>
		<description>Well, its exciting to see the efforts of such wonderful people. 

@Brandon: I have a different query here: 
How about just transforming userdefined-function-libraries/blocks of PHP code as extensions using Hiphop ? 

Since most of the large traffic sites working with PHP would have  diversified usage of libraries/database/memcached/file handling/caching mechanisms in place..

Would that be certainly handled in similar efficient way? 

-Vj</description>
		<content:encoded><![CDATA[<p>Well, its exciting to see the efforts of such wonderful people. </p>
<p>@Brandon: I have a different query here:<br />
How about just transforming userdefined-function-libraries/blocks of PHP code as extensions using Hiphop ? </p>
<p>Since most of the large traffic sites working with PHP would have  diversified usage of libraries/database/memcached/file handling/caching mechanisms in place..</p>
<p>Would that be certainly handled in similar efficient way? </p>
<p>-Vj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2936</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Wed, 03 Feb 2010 16:46:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2936</guid>
		<description>Rasums actually tweeted about it. He mentioned that most people will run into typical bottlenecks like database or file system, and that HipHop probably wouldn&#039;t help in that case.</description>
		<content:encoded><![CDATA[<p>Rasums actually tweeted about it. He mentioned that most people will run into typical bottlenecks like database or file system, and that HipHop probably wouldn&#8217;t help in that case.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan Walker</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2935</link>
		<dc:creator>Jordan Walker</dc:creator>
		<pubDate>Wed, 03 Feb 2010 14:05:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2935</guid>
		<description>I am interested to hear what Rasmus has to say.</description>
		<content:encoded><![CDATA[<p>I am interested to hear what Rasmus has to say.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus Wollny</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2934</link>
		<dc:creator>Markus Wollny</dc:creator>
		<pubDate>Wed, 03 Feb 2010 13:15:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2934</guid>
		<description>I have to agree with @robo47. There shouldn&#039;t be much of a problem using nginx&#039;s reverse proxy feature or Apache&#039;s mod_proxy to allow for per-host deployments, if necessary even on a per-directory basis. There will of course be a certain administration overhead and the performance gain when compared to a more conventional deployment that&#039;s using an opcode-cache like eAccelerator or XCache may not be worth the hassle. So I think I&#039;ll disagree on the assumption that anyone using a loadbalanced 1+x webserver setup will be well advised to jump on that train. This is a very special beast and it&#039;s very likely that even if you&#039;ve got a somewhat larger PHP deployment it is not for you.</description>
		<content:encoded><![CDATA[<p>I have to agree with @robo47. There shouldn&#8217;t be much of a problem using nginx&#8217;s reverse proxy feature or Apache&#8217;s mod_proxy to allow for per-host deployments, if necessary even on a per-directory basis. There will of course be a certain administration overhead and the performance gain when compared to a more conventional deployment that&#8217;s using an opcode-cache like eAccelerator or XCache may not be worth the hassle. So I think I&#8217;ll disagree on the assumption that anyone using a loadbalanced 1+x webserver setup will be well advised to jump on that train. This is a very special beast and it&#8217;s very likely that even if you&#8217;ve got a somewhat larger PHP deployment it is not for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: robo47</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2932</link>
		<dc:creator>robo47</dc:creator>
		<pubDate>Wed, 03 Feb 2010 09:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2932</guid>
		<description>@brandonsavage 
I don&#039;t thinkcreating a VM for each app will really &quot;help&quot; here. It produces much more overhead, all standard-services + programs of the used server-os run X times (webserver, database-server, cron)  instead of one, resulting in more cpu-usage and more memory-usage, the two things hiphop should lower. I don&#039;t think it makes any sense to create VM&#039;s just to run hiphop because you will propably lose a lot or all of the performance-gain. And for running a webserver in each VM you will too need at least one IP for each VM to have it&#039;s own Port 80 for the webserver.

A simple reverse-proxy setup (lighttpd, nginx, apache, ... )? saves resources and since in my opinion a webserver doesn&#039;t have to be &quot;reverse-proxy-usable&quot; there isn&#039;t any explicit design-thing for hiphop to be able to be used behind a reverse-proxy.</description>
		<content:encoded><![CDATA[<p>@brandonsavage<br />
I don&#8217;t thinkcreating a VM for each app will really &#8220;help&#8221; here. It produces much more overhead, all standard-services + programs of the used server-os run X times (webserver, database-server, cron)  instead of one, resulting in more cpu-usage and more memory-usage, the two things hiphop should lower. I don&#8217;t think it makes any sense to create VM&#8217;s just to run hiphop because you will propably lose a lot or all of the performance-gain. And for running a webserver in each VM you will too need at least one IP for each VM to have it&#8217;s own Port 80 for the webserver.</p>
<p>A simple reverse-proxy setup (lighttpd, nginx, apache, &#8230; )? saves resources and since in my opinion a webserver doesn&#8217;t have to be &#8220;reverse-proxy-usable&#8221; there isn&#8217;t any explicit design-thing for hiphop to be able to be used behind a reverse-proxy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Digitivity @ The Digital Life &#38; Tools Blog</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2930</link>
		<dc:creator>Digitivity @ The Digital Life &#38; Tools Blog</dc:creator>
		<pubDate>Wed, 03 Feb 2010 08:48:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2930</guid>
		<description>Is it clear at this time if HipHop integrates seamlessly with an existing PHP installation + web application?

I.e., you could have most of your application compiled, and then if you want to add a page (or class) or two, you could just add it in a .php file until you can get around to re-compiling and replacing the whole app.</description>
		<content:encoded><![CDATA[<p>Is it clear at this time if HipHop integrates seamlessly with an existing PHP installation + web application?</p>
<p>I.e., you could have most of your application compiled, and then if you want to add a page (or class) or two, you could just add it in a .php file until you can get around to re-compiling and replacing the whole app.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2929</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Wed, 03 Feb 2010 02:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2929</guid>
		<description>@Joel, I think that&#039;s certainly an option. I didn&#039;t mention it outright, mostly due to the fact that the released version isn&#039;t explicitly designed to do that. Bear in mind that Facebook&#039;s use case was high-traffic web servers that serve unique content on each page view, and for high-traffic sites I think this is a fantastic use case.

Your better bet might be what was suggested above, creating a VM for each app and running it that way.</description>
		<content:encoded><![CDATA[<p>@Joel, I think that&#8217;s certainly an option. I didn&#8217;t mention it outright, mostly due to the fact that the released version isn&#8217;t explicitly designed to do that. Bear in mind that Facebook&#8217;s use case was high-traffic web servers that serve unique content on each page view, and for high-traffic sites I think this is a fantastic use case.</p>
<p>Your better bet might be what was suggested above, creating a VM for each app and running it that way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: php/ajax</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2928</link>
		<dc:creator>php/ajax</dc:creator>
		<pubDate>Wed, 03 Feb 2010 02:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2928</guid>
		<description>I was just thinking that it would be great if it was possible to load HipHop&#039;s c++ binaries in the same way we can include .phar and .php files

The one thing is that we they will have to security checks to make sure that the c++ extensions executed inside a sandbox.</description>
		<content:encoded><![CDATA[<p>I was just thinking that it would be great if it was possible to load HipHop&#8217;s c++ binaries in the same way we can include .phar and .php files</p>
<p>The one thing is that we they will have to security checks to make sure that the c++ extensions executed inside a sandbox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel Clermont</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2927</link>
		<dc:creator>Joel Clermont</dc:creator>
		<pubDate>Wed, 03 Feb 2010 02:32:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2927</guid>
		<description>What would prevent someone from running multiple apps on a box on different ports than using Squid in reverse proxy mode to direct internally to the right port? Definitely not going to work in shared hosting, but for those of us running our own servers with a couple dozen &quot;medium&quot;-sized sites, this isn&#039;t a deal breaker. Thoughts?</description>
		<content:encoded><![CDATA[<p>What would prevent someone from running multiple apps on a box on different ports than using Squid in reverse proxy mode to direct internally to the right port? Definitely not going to work in shared hosting, but for those of us running our own servers with a couple dozen &#8220;medium&#8221;-sized sites, this isn&#8217;t a deal breaker. Thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sjan Evardsson</title>
		<link>http://www.brandonsavage.net/hiphop-for-php-who-benefits-who-doesnt/#comment-2926</link>
		<dc:creator>Sjan Evardsson</dc:creator>
		<pubDate>Wed, 03 Feb 2010 02:08:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1166#comment-2926</guid>
		<description>I was disappointed by the &quot;one application at a time&quot; piece of this. I was hoping for something a little more modular and capable of being used across multiple applications on one server.

That being said, if I could move all my legacy apps to their own VM and set up a new VM for each new app we build ... (gears turning here.)

While I am an early adopter in many ways, this is one that I will have to see play out a bit first. I will likely set up some test apps in VMs and see what kind of gains I can manage, and see how it affects the build -&gt; test -&gt; deploy -&gt; update -&gt; test -&gt; deploy (ad infinitum) cycle.</description>
		<content:encoded><![CDATA[<p>I was disappointed by the &#8220;one application at a time&#8221; piece of this. I was hoping for something a little more modular and capable of being used across multiple applications on one server.</p>
<p>That being said, if I could move all my legacy apps to their own VM and set up a new VM for each new app we build &#8230; (gears turning here.)</p>
<p>While I am an early adopter in many ways, this is one that I will have to see play out a bit first. I will likely set up some test apps in VMs and see what kind of gains I can manage, and see how it affects the build -&gt; test -&gt; deploy -&gt; update -&gt; test -&gt; deploy (ad infinitum) cycle.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk (feed is rejected)
Page Caching using apc (user agent is rejected)
Database Caching 47/51 queries in 0.030 seconds using disk
Content Delivery Network via Amazon Web Services: S3: files.brandonsavage.net.s3.amazonaws.com

Served from: www.brandonsavage.net @ 2010-07-31 11:13:49 -->