<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PeterKellner.net &#187; Performance</title>
	<atom:link href="http://peterkellner.net/category/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterkellner.net</link>
	<description>Microsoft Focussed, JavaScript (ExtJS, SenchaTouch &#38; Windows 8 Metro)</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:14:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Microsoft To Add Auto-Compiled LINQ Queries to Entity Framework V.Next!</title>
		<link>http://peterkellner.net/2011/10/22/microsoft-to-add-auto-compiled-linq-queries-to-entity-framework-v-next/</link>
		<comments>http://peterkellner.net/2011/10/22/microsoft-to-add-auto-compiled-linq-queries-to-entity-framework-v-next/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 01:57:03 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[.NET 4.5]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[LINQ to SQL]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2011/10/22/microsoft-to-add-auto-compiled-linq-queries-to-entity-framework-v-next/</guid>
		<description><![CDATA[&#160;  In May of 2009 I discovered some significant performance problems that I blogged about.&#160; In summary, I had tracked it down to the issue of LINQ2SQ having to create a full expression tree on every instantiation of a LINQ2SQL query.&#160; I’m not a compiler write kind of guy but do respect the complexity [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>  <p>In May of 2009 I discovered some significant performance problems that I <a href="http://peterkellner.net/2009/05/06/linq-to-sql-slow-performance-compilequery-critical/">blogged</a> about.&#160; In summary, I had tracked it down to the issue of LINQ2SQ having to create a full expression tree on every instantiation of a LINQ2SQL query.&#160; I’m not a compiler write kind of guy but do respect the complexity of that and doing things like building expression trees, but still this really sucked.&#160; Using the compile syntax in LINQ2SQL is very awkward, and IMHO takes all the fun out of using LINQ2SQL.&#160; If you don’t remember my post, here is the graph showing the evil happening.</p>  <p>&#160;</p>  <p><a href="http://peterkellner.net/2009/05/06/linq-to-sql-slow-performance-compilequery-critical/"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/wp/wp/wp-content/uploads/2011/10/image6.png" width="285" height="173" /></a></p>  <p>So, what is a Microsoft MVP to do?&#160; I complained to everyone at Microsoft I knew.&#160; I made this my mission for about a year.&#160; I was told time after time that the problem was hugely complicated and no one was working on making it any faster.&#160; I just could not believe it because I felt this was such a barrier to success to <a href="http://msdn.microsoft.com/en-us/library/bb425822.aspx">LINQ2SQL</a> type technology (now <a href="http://msdn.microsoft.com/en-us/library/bb399572.aspx">Entity Framework</a> really) that Microsoft just could not ignore my findings.&#160; I was actually surprised that I was the only one screaming about this.</p>  <p>Well, quietly, <a href="http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx">Microsoft has announced that in .Net Framework 4.5, Entity Framework will include “Auto-Compiled LINQ Queries”</a>.&#160; This is awesome!&#160;&#160; When it comes out, I’ll be testing and it giving feedback.</p>  <p>For now, I’m a very happy camper.</p>  <p>&#160;</p>  <p><a href="http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://peterkellner.net/wp/wp/wp-content/uploads/2011/10/image7.png" width="882" height="474" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2011/10/22/microsoft-to-add-auto-compiled-linq-queries-to-entity-framework-v-next/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Fast are In Memory LINQ Evaluations for Doing Simple Things?</title>
		<link>http://peterkellner.net/2009/06/03/linq-in-memory-performance/</link>
		<comments>http://peterkellner.net/2009/06/03/linq-in-memory-performance/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 01:27:19 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[LINQ to SQL]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2009/06/03/linq-in-memory-performance/</guid>
		<description><![CDATA[So, I recently blogged about the huge penalty for not compiling your LINQ2SQL.&#160; This problem is so big that it occurred to us that maybe all of LINQ has the problem.&#160; So, time for a simple test.&#160; Below is a very simple program that basically generates a list of Ids.&#160; In one case, it’s using [...]]]></description>
			<content:encoded><![CDATA[<p>So, I recently blogged about the huge penalty for <a href="http://peterkellner.net/2009/05/06/linq-to-sql-slow-performance-compilequery-critical/">not compiling your LINQ2SQL</a>.&#160; This problem is so big that it occurred to us that maybe all of LINQ has the problem.&#160; So, time for a simple test.&#160; Below is a very simple program that basically generates a list of Ids.&#160; In one case, it’s using LINQ, and the other just Plain C#.&#160; The code is pretty self explanatory.&#160; Here are the results:</p>  <table border="0" cellspacing="0" cellpadding="2" width="400"><tbody>     <tr>       <td valign="top" width="200">Test Performed</td>        <td valign="top" width="200">Time to Do 100000 iterations</td>     </tr>      <tr>       <td valign="top" width="200">Using LINQ</td>        <td valign="top" width="200">52ms</td>     </tr>      <tr>       <td valign="top" width="200">Using Simple C#</td>        <td valign="top" width="200">35ms</td>     </tr>   </tbody></table>  <p>Well, my fears are put aside.&#160; Though LINQ is somewhat slower, for 100,000 iterations, .052 seconds is pretty good.&#160; (compared with processing a single not to complicated LINQ2SQL statement for 100,000 iterations would take about 20,000 seconds or 333 hours.&#160; Quite a difference to .052 seconds!</p> <span id="more-316"></span>  <p>Here is the code I ran for my test.&#160; Hope this help!</p>  <div class="csharpcode"> <pre class="alt"><span class="kwrd">using</span> System;</pre>
<pre><span class="kwrd">using</span> System.Collections.Generic;</pre>
<pre class="alt"><span class="kwrd">using</span> System.Diagnostics;</pre>
<pre><span class="kwrd">using</span> System.Linq;</pre>
<pre class="alt"><span class="kwrd">using</span> System.Text;</pre>
<pre>&nbsp;</pre>
<pre class="alt"><span class="kwrd">namespace</span> LINQTimingInMemory</pre>
<pre>{</pre>
<pre class="alt">     <span class="kwrd">class</span> Program</pre>
<pre>     {</pre>
<pre class="alt">         <span class="kwrd">static</span> <span class="kwrd">void</span> Main(<span class="kwrd">string</span>[] args)</pre>
<pre>         {</pre>
<pre class="alt">             <span class="kwrd">for</span> (<span class="kwrd">int</span> i=0;i&lt;2;i++)</pre>
<pre>             {</pre>
<pre class="alt">                 List&lt;<span class="kwrd">int</span>&gt; myList = <span class="kwrd">new</span> List&lt;<span class="kwrd">int</span>&gt;() {1,2,3,4,5,6,7,8,9,6,5,5,5,5,5,5};</pre>
<pre>                 Stopwatch stopWatch = <span class="kwrd">new</span> Stopwatch();</pre>
<pre class="alt">                 stopWatch.Start();</pre>
<pre>                 <span class="kwrd">int</span> iterations = 100000;</pre>
<pre class="alt">                 <span class="kwrd">for</span> (<span class="kwrd">int</span> t = 0; t &lt; iterations; t++)</pre>
<pre>                 {</pre>
<pre class="alt">                     <span class="kwrd">if</span> (i == 0)</pre>
<pre>                     {</pre>
<pre class="alt">                         var ids = myList.Where(a =&gt; a &gt; 5).ToList();</pre>
<pre>                     }</pre>
<pre class="alt">                     <span class="kwrd">else</span></pre>
<pre>                     {</pre>
<pre class="alt">                         var ids = <span class="kwrd">new</span> List&lt;<span class="kwrd">int</span>&gt;();</pre>
<pre>                         <span class="kwrd">foreach</span> (var v <span class="kwrd">in</span> myList)</pre>
<pre class="alt">                         {</pre>
<pre>                             <span class="kwrd">if</span> (v &gt; 5)</pre>
<pre class="alt">                             {</pre>
<pre>                                 ids.Add(v);</pre>
<pre class="alt">                             }</pre>
<pre>                         }</pre>
<pre class="alt">                     }</pre>
<pre>                 }</pre>
<pre class="alt">                 stopWatch.Stop();</pre>
<pre>                 <span class="kwrd">int</span> ti = Convert.ToInt32(stopWatch.ElapsedMilliseconds);</pre>
<pre class="alt">                 Console.WriteLine(<span class="str">"time for "</span> + i.ToString() + <span class="str">" "</span> + ti/iterations + <span class="str">" "</span> + ti);</pre>
<pre>                 stopWatch.Reset();</pre>
<pre class="alt">             }</pre>
<pre>         }</pre>
<pre class="alt">     }</pre>
<pre> }</pre>
</div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2009/06/03/linq-in-memory-performance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building High Performance ASP.NET Web Applications Downloads</title>
		<link>http://peterkellner.net/2008/06/29/build-high-performance_web-applications-downloads/</link>
		<comments>http://peterkellner.net/2008/06/29/build-high-performance_web-applications-downloads/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 20:44:21 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/06/29/build-high-performance_web-applications-downloads/</guid>
		<description><![CDATA[<br /><p>Downloads for my presentation to BAADD titled "Building High Performance ASP.NET Web Applications".</p><br />]]></description>
			<content:encoded><![CDATA[<p>This past Wednesday, June 25th 2008, I did a presentation titled &#8220;<a href="http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/">Building High Performance ASP.NET Web Applications</a>&#8221; to the <a href="http://www.baadd.org/NET/tabid/56/Default.aspx">Bay Area Association of Database Developers (BAADD)</a>.&nbsp; Through out the presentation, I showed an application in <a href="http://msdn.microsoft.com/en-us/vstudio/products/aa700831.aspx">Visual Studio 2008</a>.&nbsp; I&#8217;m including that project file here as well as the power point slides used in the demonstration.</p> <p> <div class="wlWriterSmartContent" id="scid:18d43e01-4549-4fde-8ca6-c7b4b7385fac:9de1aefe-7d0d-40e3-b35c-603413b65c45" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><p>Download Solution &#8211; <a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/heuristiccache2.zip">HeuristicCache.zip</a></p></div></p> <p>And the Power Point Presentation:</p> <p> <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:dfb47607-6296-4d5c-8edf-cd4e933fca8f" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><p> <a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/ppwebhigh2.pdf" target="_blank">Power Point Presentation</a></p></div></p> <p>Any Questions, feel free to contact me at <a title="http://peterkellner.net/contact/" href="http://peterkellner.net/contact/">http://peterkellner.net/contact/</a></p> <p><u><font color="#669966"></font></u></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/06/29/build-high-performance_web-applications-downloads/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Speaking Next Week (Wednesday 6/25) At Microsoft Office in San Francisco</title>
		<link>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/</link>
		<comments>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 16:02:33 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[asp.net performance]]></category>
		<category><![CDATA[asp.net scaling]]></category>
		<category><![CDATA[speaking asp.net]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/</guid>
		<description><![CDATA[<br />
<p>Speaking at  835 Market Street, Suite 700 on Building High performance ASP.NET web applications - In this meeting, Peter Kellner will present on and discuss techniques and methodologies for developing highly performant and scalable web sites.</p>
<br />]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.baadd.org/NET/tabid/56/Default.aspx" href="http://www.baadd.org/NET/tabid/56/Default.aspx">http://www.baadd.org/NET/tabid/56/Default.aspx</a></p>  <p>June Meeting &#8211; Wednesday, June 25, 2008</p>  <p>Remember Our New Location:&#160; 835 Market Street, Suite 700.</p> <span id="more-117"></span>  <h2>Building High performance ASP.NET web applications &#8211; In this meeting, Peter Kellner will present on and discuss techniques and methodologies for developing highly performant and scalable web sites. </h2>  <p>Topics will&#160; include appropriate use of Cache and Session State, as well as how and when to use them.&#160; Viewstate management and methods to minimize its use will be discussed.&#160; Code to pop up a warning when a threshold is met in development will be shown.&#160; When and how to take advantage of Server Farms will be discussed, as well as trouble shooting techniques to find problems. The evils of Server Affinity,&#160; as well as a common pattern for caching database queries will be shown to be wrong.&#160; Time permitting, we will talk about using Microsoft&#8217;s Ajax.asp.net with UpdatePanel and webservices and how these affect performance and scalability.</p>  <p><a href="http://peterkellner.net/wp/wp-content/uploads/2008/06/baad.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="baad" src="http://peterkellner.net/wp/wp-content/uploads/2008/06/baad-thumb.png" width="406" height="401" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2008/06/17/speaking-microsoft-office-june-25-2008-high-perf-aspnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 6/13 queries in 0.007 seconds using disk

Served from: peterkellner.net @ 2012-02-10 04:25:08 -->
