<?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/"
		>
<channel>
	<title>Comments on: Rasmus Lerdorf&#8217;s Laconic(a) Performance</title>
	<atom:link href="http://paul-m-jones.com/archives/330/feed" rel="self" type="application/rss+xml" />
	<link>http://paul-m-jones.com/archives/330?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rasmus-lerdorfs-laconica-performance</link>
	<description>It&#039;s not enough to be smart; you have to actually know things.</description>
	<lastBuildDate>Wed, 16 May 2012 17:27:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Gilton Guma</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-421523</link>
		<dc:creator>Gilton Guma</dc:creator>
		<pubDate>Thu, 01 Sep 2011 15:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-421523</guid>
		<description>Tested with:

  printf(&quot;Hello Word&quot;);

It may decline even further this time! ;)

*Sorry my english!</description>
		<content:encoded><![CDATA[<p>Tested with:</p>
<p>  printf(&#8220;Hello Word&#8221;);</p>
<p>It may decline even further this time! ;)</p>
<p>*Sorry my english!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409520</link>
		<dc:creator>Thomas</dc:creator>
		<pubDate>Thu, 18 Sep 2008 23:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409520</guid>
		<description>@Rasmus

Love your language, use it for everything web-related, but I have to say that you and I see a different PHP. For small sites, RAD is an ideal solution (where performance isn&#039;t a big deal), and large sites can afford to optimize the site to match its growth.

I&#039;m not sure how you can keep from repeating yourself without the use of a Front Controller, which is really a combined router and bootstrap/common.inc file. Every application that wants routing to be more flexible than Apache can offer moves the responsibility to routing PHP code. The most necessary elements (first encountered and most frequently used) logically must be top-most parent element to avoid being called at all (which would require being called more than once).</description>
		<content:encoded><![CDATA[<p>@Rasmus</p>
<p>Love your language, use it for everything web-related, but I have to say that you and I see a different PHP. For small sites, RAD is an ideal solution (where performance isn&#8217;t a big deal), and large sites can afford to optimize the site to match its growth.</p>
<p>I&#8217;m not sure how you can keep from repeating yourself without the use of a Front Controller, which is really a combined router and bootstrap/common.inc file. Every application that wants routing to be more flexible than Apache can offer moves the responsibility to routing PHP code. The most necessary elements (first encountered and most frequently used) logically must be top-most parent element to avoid being called at all (which would require being called more than once).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409489</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Tue, 09 Sep 2008 23:16:02 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409489</guid>
		<description>@Gabriel

Looks like you missed the Drupalcon this year. Here&#039;s the video:
http://www.archive.org/details/simple_is_hard

And a short transcript:

1. Rasmus: &quot;Tell me where the Web is going, and I&#039;ll tell you what the future of PHP is&quot;.

I can only tell you that web applications are getting more an more complex, and that PHP is getting slower (unless you create a &quot;hello world&quot; application and tweak your laptop).

2. Rasmus: &quot;PHP is only useful for the presentation layer&quot;. 

So, are you saying it&#039;s kind of useless nowadays? Considering that Python and other scripting languages can do the same, and can be used not only for the presentation layer?

3. Rasmus: &quot;Facebook and Yahoo don&#039;t scale because they use PHP, they scale because they use C++ libraries&quot;.

It can&#039;t get worst than that... for us of course. 

4. Rasmus: &quot;PHP frameworks are ridiculous slow&quot;.

Thanks for the tip Rasmus. I guess that&#039;s why everyone is using Django now, right? According to you it&#039;s faster than all the PHP framework together. 

5. Rasmus: &quot;I don&#039;t like frameworks&quot;

Yeah well, low-level programmers don&#039;t like frameworks, but keep in mind that web developers do, and they need them.

6. Rasmus: &quot;The front-controller pattern goes against the web architecture&quot;

Yeah right, that&#039;s why Rails and Django are becoming so popular right? Come on man, put yourself together and start supporting PHP developers. You are killing the language!</description>
		<content:encoded><![CDATA[<p>@Gabriel</p>
<p>Looks like you missed the Drupalcon this year. Here&#8217;s the video:<br />
<a href="http://www.archive.org/details/simple_is_hard" rel="nofollow">http://www.archive.org/details/simple_is_hard</a></p>
<p>And a short transcript:</p>
<p>1. Rasmus: &#8220;Tell me where the Web is going, and I&#8217;ll tell you what the future of PHP is&#8221;.</p>
<p>I can only tell you that web applications are getting more an more complex, and that PHP is getting slower (unless you create a &#8220;hello world&#8221; application and tweak your laptop).</p>
<p>2. Rasmus: &#8220;PHP is only useful for the presentation layer&#8221;. </p>
<p>So, are you saying it&#8217;s kind of useless nowadays? Considering that Python and other scripting languages can do the same, and can be used not only for the presentation layer?</p>
<p>3. Rasmus: &#8220;Facebook and Yahoo don&#8217;t scale because they use PHP, they scale because they use C++ libraries&#8221;.</p>
<p>It can&#8217;t get worst than that&#8230; for us of course. </p>
<p>4. Rasmus: &#8220;PHP frameworks are ridiculous slow&#8221;.</p>
<p>Thanks for the tip Rasmus. I guess that&#8217;s why everyone is using Django now, right? According to you it&#8217;s faster than all the PHP framework together. </p>
<p>5. Rasmus: &#8220;I don&#8217;t like frameworks&#8221;</p>
<p>Yeah well, low-level programmers don&#8217;t like frameworks, but keep in mind that web developers do, and they need them.</p>
<p>6. Rasmus: &#8220;The front-controller pattern goes against the web architecture&#8221;</p>
<p>Yeah right, that&#8217;s why Rails and Django are becoming so popular right? Come on man, put yourself together and start supporting PHP developers. You are killing the language!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriel</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409474</link>
		<dc:creator>Gabriel</dc:creator>
		<pubDate>Mon, 08 Sep 2008 06:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409474</guid>
		<description>I do not think Rasmus is saying no to OOP but he&#039;s rather saying don&#039;t over due it.

An approach like &quot;everything is a object&quot; (where symfony is almost) is also in my oppinion not a good thing.

We should be looking at ALL things with moderation... frameworks included... Even OOP...</description>
		<content:encoded><![CDATA[<p>I do not think Rasmus is saying no to OOP but he&#8217;s rather saying don&#8217;t over due it.</p>
<p>An approach like &#8220;everything is a object&#8221; (where symfony is almost) is also in my oppinion not a good thing.</p>
<p>We should be looking at ALL things with moderation&#8230; frameworks included&#8230; Even OOP&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409473</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Mon, 08 Sep 2008 02:01:49 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409473</guid>
		<description>Hi Marcel -- 

Note that Rasmus&#039; setup has less than a 1% difference between static HTML and a PHP equivalent, so what you&#039;re seeing is about 28-times worse difference than Rasmus noted (and about 1.5-times better than the difference I&#039;m seeing on Amazon EC2 ;-).  I don&#039;t know if Rasmus was using Suhosin or not.

It appears to me that the operating environment has a huge impact on how much the opcode cache improves performance.  It seems the lesson here is that opcode caching on Amazon EC2 in a &quot;hello world&quot; exercise does not gain you that much o of a benefit.  An additional lesson is that benchmark numbers are simply not comparable between different operating environment (or, that some operating environments are more responsive than others, which intuitively makes sense to me).

Per your last point (3), note that none of the &quot;hello world&quot; tests (either Rasmus&#039; or mine) involve the use of a database.</description>
		<content:encoded><![CDATA[<p>Hi Marcel &#8212; </p>
<p>Note that Rasmus&#8217; setup has less than a 1% difference between static HTML and a PHP equivalent, so what you&#8217;re seeing is about 28-times worse difference than Rasmus noted (and about 1.5-times better than the difference I&#8217;m seeing on Amazon EC2 ;-).  I don&#8217;t know if Rasmus was using Suhosin or not.</p>
<p>It appears to me that the operating environment has a huge impact on how much the opcode cache improves performance.  It seems the lesson here is that opcode caching on Amazon EC2 in a &#8220;hello world&#8221; exercise does not gain you that much o of a benefit.  An additional lesson is that benchmark numbers are simply not comparable between different operating environment (or, that some operating environments are more responsive than others, which intuitively makes sense to me).</p>
<p>Per your last point (3), note that none of the &#8220;hello world&#8221; tests (either Rasmus&#8217; or mine) involve the use of a database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcel Esser</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409471</link>
		<dc:creator>Marcel Esser</dc:creator>
		<pubDate>Sun, 07 Sep 2008 18:35:54 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409471</guid>
		<description>Running a zero-byte test off of a very small comercial VPS, I get the following results:

HTML: 4944.03 [#/sec] (mean)
PHP: 3584.90 [#/sec] (mean)

So, PHP output is roughly 72%. This is with debian unstable, apache 2.2 prefork, dynamic PHP 5.2.6-3 w. Suhosin. 0.9.6.2, and Xcache.

I can very easily imagine that with a bit more performance-friendly tweaking, like static PHP, not having a ton of extensions, etc, that number will come significantly closer to 90%, and very possibly past it.

I have to agree that properly written PHP is almost never the bottleneck. The bottleneck is usually one of these three: 1) pointless overhead, 2) other forms of  poor programming (whether procedural or object-oriented), or 3) the database.</description>
		<content:encoded><![CDATA[<p>Running a zero-byte test off of a very small comercial VPS, I get the following results:</p>
<p>HTML: 4944.03 [#/sec] (mean)<br />
PHP: 3584.90 [#/sec] (mean)</p>
<p>So, PHP output is roughly 72%. This is with debian unstable, apache 2.2 prefork, dynamic PHP 5.2.6-3 w. Suhosin. 0.9.6.2, and Xcache.</p>
<p>I can very easily imagine that with a bit more performance-friendly tweaking, like static PHP, not having a ton of extensions, etc, that number will come significantly closer to 90%, and very possibly past it.</p>
<p>I have to agree that properly written PHP is almost never the bottleneck. The bottleneck is usually one of these three: 1) pointless overhead, 2) other forms of  poor programming (whether procedural or object-oriented), or 3) the database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Turland</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409470</link>
		<dc:creator>Matthew Turland</dc:creator>
		<pubDate>Sun, 07 Sep 2008 17:00:21 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409470</guid>
		<description>Not sure if you were aware of these or not, Paul, but Brian Shire from Facebook gave a talk on APC at php&#124;tek 2008. The slides from that talk might be useful to you: http://tekrat.com/talks_files/phptek2008/apc@facebook.pdf.</description>
		<content:encoded><![CDATA[<p>Not sure if you were aware of these or not, Paul, but Brian Shire from Facebook gave a talk on APC at php|tek 2008. The slides from that talk might be useful to you: <a href="http://tekrat.com/talks_files/phptek2008/apc@facebook.pdf" rel="nofollow">http://tekrat.com/talks_files/phptek2008/apc@facebook.pdf</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409456</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Fri, 05 Sep 2008 23:45:54 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409456</guid>
		<description>I think the point Rasmus was trying to make is: &quot;frameworks are slow&quot;. The thing is, he doesn&#039;t like object-oriented programming and wants to convince people that procedural programming is the next big thing. Come on Rasmus, that was 10 years ago. Web applications are now more complex. Rails changed the way we develop web applications. Django is becoming the next big thing and Guido supports it all the way. He even invites developers to talk about Pyhton frameworks at Google. PHP needs a Guido, not a Rasmus. Don&#039;t you see, the &quot;procedural is fast, object-oriented is slow&quot; message is killing PHP.</description>
		<content:encoded><![CDATA[<p>I think the point Rasmus was trying to make is: &#8220;frameworks are slow&#8221;. The thing is, he doesn&#8217;t like object-oriented programming and wants to convince people that procedural programming is the next big thing. Come on Rasmus, that was 10 years ago. Web applications are now more complex. Rails changed the way we develop web applications. Django is becoming the next big thing and Guido supports it all the way. He even invites developers to talk about Pyhton frameworks at Google. PHP needs a Guido, not a Rasmus. Don&#8217;t you see, the &#8220;procedural is fast, object-oriented is slow&#8221; message is killing PHP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WAZ (weblog andre zorzo) &#187; Performance de Framework PHP</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409450</link>
		<dc:creator>WAZ (weblog andre zorzo) &#187; Performance de Framework PHP</dc:creator>
		<pubDate>Fri, 05 Sep 2008 22:38:56 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409450</guid>
		<description>[...] Veja nesse link:Rasmus Lerdorf’s Laconic(a) Performance [...]</description>
		<content:encoded><![CDATA[<p>[...] Veja nesse link:Rasmus Lerdorf’s Laconic(a) Performance [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pmjones</title>
		<link>http://paul-m-jones.com/archives/330/comment-page-1#comment-409421</link>
		<dc:creator>pmjones</dc:creator>
		<pubDate>Fri, 05 Sep 2008 02:57:38 +0000</pubDate>
		<guid isPermaLink="false">http://paul-m-jones.com/?p=330#comment-409421</guid>
		<description>@daaku -- apc.stat was set to zero.</description>
		<content:encoded><![CDATA[<p>@daaku &#8212; apc.stat was set to zero.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

