<?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"
	>
<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>
	<pubDate>Fri, 16 May 2008 03:39:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2007/11/19/vimagi-speedups/#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'm curious, too, how ErlyWeb's performance compares to other frameworks'. However, I have a few other things on my plate right now so I can't promise I'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-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'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'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-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'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) -&#62;&lt;br /&gt;
&#160;&#160;&#160;&#160;case Level of&lt;br /&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;debug -&#62;&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;_ -&#62;&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 -&#62;&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 -&#62;&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 -&#62;&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 -&#62;&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(&#34;~w:~b: &#34;++ 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'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'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-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've written some skeleton code to handle it in places I expect it to be useful, but I've left it out for simplicity's sake so far.

The only other thing I've done to my production system is recompiled ErlyDB such that it doesn't try to print out every SQL command.  I don't know that I've seen a lot of speedup from that change, but it seemed unnecessary to send debugging messages to a console that isn't even attached.

Have you tried recompiling with HiPE yet?  Developing on PPC Mac and deploying on x86 Linux, I wasn't sure if I'd see any discontinuities, so I haven'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>
