<?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: The Quest for Greater Requests per Second</title>
	<atom:link href="http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/feed/" rel="self" type="application/rss+xml" />
	<link>http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/</link>
	<description>airodig hacking industries</description>
	<lastBuildDate>Tue, 31 Aug 2010 20:17:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: feydr</title>
		<link>http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/comment-page-1/#comment-162</link>
		<dc:creator>feydr</dc:creator>
		<pubDate>Mon, 08 Feb 2010 22:55:19 +0000</pubDate>
		<guid isPermaLink="false">http://airodig.com/?p=238#comment-162</guid>
		<description>GR -- not to be in a pissing match with you but I do recall the original predictions for rails3 to be at last year&#039;s rails conf in may (more or less a year ago)

I also have mad respect for those who are fortunate enough to have enough time to work on community projects -- many of us do not have that time available

as for describing the setup -- that really is not so necessary -- you can replicate the same results in dev/production or thin/mongrel/whatever -- of course they have different performance impacts -- I&#039;m not here to measure web frameworks -- you can see the same results in whatever environment you choose

the &quot;important realization&quot; here was the fact that everywhere you go you see people claiming that templating engines add no noticeable performance hit and I find that to be highly untrue -- I still find web frameworks to be highly useful for things such as routing so

&quot;Caching the whole page not only removed the page rendering time (with a majority of time probably spent in haml/erb/etc)&quot; -- you hit the nail on the head right here -- &quot;the majority of the time spent in haml/erb&quot; -- this is what I was bitching about

as for the 20 pages/second I think I must have been looking at something else as it&#039;s much higher than that on production now (much higher on dev as well)

actually as for the unicorn and such -- that was obviously a tongue in cheek reference to the last 200 or so projects that I have ran across being described like that -- I&#039;m not fond of projects being dressed up to compensate for their lack of technical merit</description>
		<content:encoded><![CDATA[<p>GR &#8212; not to be in a pissing match with you but I do recall the original predictions for rails3 to be at last year&#8217;s rails conf in may (more or less a year ago)</p>
<p>I also have mad respect for those who are fortunate enough to have enough time to work on community projects &#8212; many of us do not have that time available</p>
<p>as for describing the setup &#8212; that really is not so necessary &#8212; you can replicate the same results in dev/production or thin/mongrel/whatever &#8212; of course they have different performance impacts &#8212; I&#8217;m not here to measure web frameworks &#8212; you can see the same results in whatever environment you choose</p>
<p>the &#8220;important realization&#8221; here was the fact that everywhere you go you see people claiming that templating engines add no noticeable performance hit and I find that to be highly untrue &#8212; I still find web frameworks to be highly useful for things such as routing so</p>
<p>&#8220;Caching the whole page not only removed the page rendering time (with a majority of time probably spent in haml/erb/etc)&#8221; &#8212; you hit the nail on the head right here &#8212; &#8220;the majority of the time spent in haml/erb&#8221; &#8212; this is what I was bitching about</p>
<p>as for the 20 pages/second I think I must have been looking at something else as it&#8217;s much higher than that on production now (much higher on dev as well)</p>
<p>actually as for the unicorn and such &#8212; that was obviously a tongue in cheek reference to the last 200 or so projects that I have ran across being described like that &#8212; I&#8217;m not fond of projects being dressed up to compensate for their lack of technical merit</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GR</title>
		<link>http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/comment-page-1/#comment-160</link>
		<dc:creator>GR</dc:creator>
		<pubDate>Mon, 08 Feb 2010 21:50:24 +0000</pubDate>
		<guid isPermaLink="false">http://airodig.com/?p=238#comment-160</guid>
		<description>Clarification.  Rails3 was not &#039;due out a year ago&#039;.  The merger was only announced a little over a year ago.  Its in open beta now.  You make it sound like guys like Carl and Yehuda and the Rails team have been slacking off and missing their deadlines which is clearly not the case.

It would be more useful if you talked about your testing setup.  You make no mention at all of how you are hosting the various application servers under test in your &#039;benchmark&#039;.  Thin, Mongrel, Webbrick, Apache, Nginx, production mode, dev mode?  These choices have important performance implications.

I&#039;m not sure what the important realization here is.  You say that you gained a 20x speedup when you cached the entire page vs. serving a page from a &#039;templating engine&#039;.  Was this surprising?  I&#039;m surprised it wasn&#039;t more since you have effectively removed Merb/Sinatra/Etc from the critical path entirely and you might as well be serving a static file.  Caching the whole page not only removed the page rendering time (with a majority of time probably spent in haml/erb/etc) but the DB and routing time as well.  And you only got to 20 pages/sec after caching the whole page?  There is something wrong with your env if you can only do 20 pages/sec on a fully cached page as you described.  Care to elaborate?

I think the lesson for *any* site is to cache as aggressively as you can, not avoid templating/markup tools that make you more productive as a developer.  
 
I found it funny how you make fun of people who use the word &#039;tasty&#039; to describe code...  right after your pretty pictures of Unicorns.  Who was it BTW who said that Haml was &quot;unicorns sprinting across rainbows shitting shooting stars when it comes to performance&quot;.  I guess I missed that writeup.</description>
		<content:encoded><![CDATA[<p>Clarification.  Rails3 was not &#8216;due out a year ago&#8217;.  The merger was only announced a little over a year ago.  Its in open beta now.  You make it sound like guys like Carl and Yehuda and the Rails team have been slacking off and missing their deadlines which is clearly not the case.</p>
<p>It would be more useful if you talked about your testing setup.  You make no mention at all of how you are hosting the various application servers under test in your &#8216;benchmark&#8217;.  Thin, Mongrel, Webbrick, Apache, Nginx, production mode, dev mode?  These choices have important performance implications.</p>
<p>I&#8217;m not sure what the important realization here is.  You say that you gained a 20x speedup when you cached the entire page vs. serving a page from a &#8216;templating engine&#8217;.  Was this surprising?  I&#8217;m surprised it wasn&#8217;t more since you have effectively removed Merb/Sinatra/Etc from the critical path entirely and you might as well be serving a static file.  Caching the whole page not only removed the page rendering time (with a majority of time probably spent in haml/erb/etc) but the DB and routing time as well.  And you only got to 20 pages/sec after caching the whole page?  There is something wrong with your env if you can only do 20 pages/sec on a fully cached page as you described.  Care to elaborate?</p>
<p>I think the lesson for *any* site is to cache as aggressively as you can, not avoid templating/markup tools that make you more productive as a developer.  </p>
<p>I found it funny how you make fun of people who use the word &#8216;tasty&#8217; to describe code&#8230;  right after your pretty pictures of Unicorns.  Who was it BTW who said that Haml was &#8220;unicorns sprinting across rainbows shitting shooting stars when it comes to performance&#8221;.  I guess I missed that writeup.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: feydr</title>
		<link>http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/comment-page-1/#comment-159</link>
		<dc:creator>feydr</dc:creator>
		<pubDate>Mon, 08 Feb 2010 21:06:13 +0000</pubDate>
		<guid isPermaLink="false">http://airodig.com/?p=238#comment-159</guid>
		<description>Hi Nathan,

  Thanks for taking the time to comment. I apologize if this article looks like it is pissing on haml -- that&#039;s not really my intention -- it&#039;s pissing on templating engines in general.

  The benchmark as you have correctly pointed out does not isolate the templating engine which may be somewhat misleading -- however benchmarking only templating is also completely irrelevant as the majority of users would be using it within the context of a webapp. Therefore, having access to benchmarks of only templating does not impart anything of value to me.

The benchmark is trivial to replicate -- pick your web app -- I don&#039;t care which. Power up apache benchmark or httpperf and bench several piece of static content with no templating -- now do the EXACT same piece but use either erb/haml. You will notice a significant drop in requests/second.

I also do not have an answer to this -- we still use haml over erb over static html.</description>
		<content:encoded><![CDATA[<p>Hi Nathan,</p>
<p>  Thanks for taking the time to comment. I apologize if this article looks like it is pissing on haml &#8212; that&#8217;s not really my intention &#8212; it&#8217;s pissing on templating engines in general.</p>
<p>  The benchmark as you have correctly pointed out does not isolate the templating engine which may be somewhat misleading &#8212; however benchmarking only templating is also completely irrelevant as the majority of users would be using it within the context of a webapp. Therefore, having access to benchmarks of only templating does not impart anything of value to me.</p>
<p>The benchmark is trivial to replicate &#8212; pick your web app &#8212; I don&#8217;t care which. Power up apache benchmark or httpperf and bench several piece of static content with no templating &#8212; now do the EXACT same piece but use either erb/haml. You will notice a significant drop in requests/second.</p>
<p>I also do not have an answer to this &#8212; we still use haml over erb over static html.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Weizenbaum</title>
		<link>http://airodig.com/2010/01/21/the-quest-for-greater-requestssecond/comment-page-1/#comment-158</link>
		<dc:creator>Nathan Weizenbaum</dc:creator>
		<pubDate>Mon, 08 Feb 2010 20:46:28 +0000</pubDate>
		<guid isPermaLink="false">http://airodig.com/?p=238#comment-158</guid>
		<description>I&#039;d like to see your benchmarking code. It&#039;s not easy to benchmark Haml properly, and even some major frameworks - I&#039;m thinking of Sinatra in particular - do a bad job of setting it up for optimal performance. It really is almost as fast as ERB in most circumstances. In examples like the one you showed where there&#039;s no dynamic content, it should be exactly as fast (or potentially faster).</description>
		<content:encoded><![CDATA[<p>I&#8217;d like to see your benchmarking code. It&#8217;s not easy to benchmark Haml properly, and even some major frameworks &#8211; I&#8217;m thinking of Sinatra in particular &#8211; do a bad job of setting it up for optimal performance. It really is almost as fast as ERB in most circumstances. In examples like the one you showed where there&#8217;s no dynamic content, it should be exactly as fast (or potentially faster).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
