<?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: Vimagi Speedups</title>
	<atom:link href="http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/feed/" rel="self" type="application/rss+xml" />
	<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/</link>
	<description>Adventures in Open Source Erlang</description>
	<lastBuildDate>Thu, 29 Apr 2010 00:37:22 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/comment-page-1/#comment-63992</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Thu, 22 Nov 2007 21:13:43 +0000</pubDate>
		<guid isPermaLink="false">http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/#comment-63992</guid>
		<description>I agree this benchmark would be very interesting. I&#039;m curious, too, how ErlyWeb&#039;s performance compares to other frameworks&#039;. However, I have a few other things on my plate right now so I can&#039;t promise I&#039;ll do this benchmarking in the near future. It would be great if someone else volunteered to do it.</description>
		<content:encoded><![CDATA[<p>I agree this benchmark would be very interesting. I&#8217;m curious, too, how ErlyWeb&#8217;s performance compares to other frameworks&#8217;. However, I have a few other things on my plate right now so I can&#8217;t promise I&#8217;ll do this benchmarking in the near future. It would be great if someone else volunteered to do it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/comment-page-1/#comment-63414</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Wed, 21 Nov 2007 12:40:10 +0000</pubDate>
		<guid isPermaLink="false">http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/#comment-63414</guid>
		<description>I&#039;d love to see some benchmark data of ErlyWeb against other frameworks. Would love to see if all the claims of performance and scalability holds up. Not that I&#039;m skeptical, but empirical data is always nice :)

ErlyWeb against PHP, JSP, RoR, Python, .NET, and some Java framework would be awesome. 

Please do it!</description>
		<content:encoded><![CDATA[<p>I&#8217;d love to see some benchmark data of ErlyWeb against other frameworks. Would love to see if all the claims of performance and scalability holds up. Not that I&#8217;m skeptical, but empirical data is always nice :)</p>
<p>ErlyWeb against PHP, JSP, RoR, Python, .NET, and some Java framework would be awesome. </p>
<p>Please do it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/comment-page-1/#comment-63326</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Wed, 21 Nov 2007 07:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/#comment-63326</guid>
		<description>You didn&#039;t need to recompile ErlyDB -- you can pass a different log function into erlydb:start() which only logs errors and warnings. This is the function I use in Vimagi, for instance:

&lt;code&gt;&lt;br /&gt;
log(Module, Line, Level, FormatFun) -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;case Level of&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;debug -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ok;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_ -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Func = case Level of&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; info -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; info_msg;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; normal -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; info_msg;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; error -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; error_msg;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; warn -&gt;&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; warning_msg&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; end,&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{Format, Params} = FormatFun(),&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;error_logger:Func(&quot;~w:~b: &quot;++ Format,&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[Module, Line &#124; Params])&lt;br /&gt;
&#160;&#160;&#160;&#160;end.&lt;br /&gt;
&lt;/code&gt;

I haven&#039;t tried using HiPE. After removing the auto_compile flag, I think the site is fast enough.

Some day, when I benchmark ErlyWeb against other frameworks, I&#039;ll use HiPE :)</description>
		<content:encoded><![CDATA[<p>You didn&#8217;t need to recompile ErlyDB &#8212; you can pass a different log function into erlydb:start() which only logs errors and warnings. This is the function I use in Vimagi, for instance:</p>
<p><code><br />
log(Module, Line, Level, FormatFun) -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;case Level of<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_ -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Func = case Level of<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info_msg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; normal -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info_msg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error_msg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warn -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warning_msg<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{Format, Params} = FormatFun(),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_logger:Func(&quot;~w:~b: &quot;++ Format,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Module, Line | Params])<br />
&nbsp;&nbsp;&nbsp;&nbsp;end.<br />
</code></p>
<p>I haven&#8217;t tried using HiPE. After removing the auto_compile flag, I think the site is fast enough.</p>
<p>Some day, when I benchmark ErlyWeb against other frameworks, I&#8217;ll use HiPE :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/comment-page-1/#comment-62564</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Mon, 19 Nov 2007 22:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/#comment-62564</guid>
		<description>Nicely done on the speedups.  BeerRiot is the same: all dynamically generated with almost no caching yet.  I&#039;ve written some skeleton code to handle it in places I expect it to be useful, but I&#039;ve left it out for simplicity&#039;s sake so far.

The only other thing I&#039;ve done to my production system is recompiled ErlyDB such that it doesn&#039;t try to print out every SQL command.  I don&#039;t know that I&#039;ve seen a lot of speedup from that change, but it seemed unnecessary to send debugging messages to a console that isn&#039;t even attached.

Have you tried recompiling with HiPE yet?  Developing on PPC Mac and deploying on x86 Linux, I wasn&#039;t sure if I&#039;d see any discontinuities, so I haven&#039;t gone down that path yet.</description>
		<content:encoded><![CDATA[<p>Nicely done on the speedups.  BeerRiot is the same: all dynamically generated with almost no caching yet.  I&#8217;ve written some skeleton code to handle it in places I expect it to be useful, but I&#8217;ve left it out for simplicity&#8217;s sake so far.</p>
<p>The only other thing I&#8217;ve done to my production system is recompiled ErlyDB such that it doesn&#8217;t try to print out every SQL command.  I don&#8217;t know that I&#8217;ve seen a lot of speedup from that change, but it seemed unnecessary to send debugging messages to a console that isn&#8217;t even attached.</p>
<p>Have you tried recompiling with HiPE yet?  Developing on PPC Mac and deploying on x86 Linux, I wasn&#8217;t sure if I&#8217;d see any discontinuities, so I haven&#8217;t gone down that path yet.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
