<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Parallelizing a query with multiple “from” clauses</title><link>http://blogs.msdn.com/pfxteam/archive/2007/12/07/6696413.aspx</link><description>Consider a simplified version of Luke Hoban's LINQ ray tracer var Xs = Enumerable .Range(1, screenWidth); var Ys = Enumerable .Range(1, screenHeight); var sequentialQuery = from x in Xs from y in Ys select new { X = x, Y = y, Color = TraceRay(x, y) };</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Parallelizing a query with multiple “from” clauses</title><link>http://blogs.msdn.com/pfxteam/archive/2007/12/07/6696413.aspx#6697126</link><pubDate>Sat, 08 Dec 2007 00:12:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6697126</guid><dc:creator>Keith Patrick</dc:creator><description>&lt;p&gt;One thing I'm seeing a lot of in the PLINQ samples but I'm not getting is the use of .ToArray(). If Range is returning an Enumerable, what is the difference (outside the extra method and array alloc) between running a select from Array instead of Enumerable?&lt;/p&gt;
&lt;p&gt;(sorry if this is explained somewhere right in front of my face, but I've been saturating myself with all things 3.5 the last few days, and I'm sure I'm missing some stuff)&lt;/p&gt;
</description></item><item><title>re: Parallelizing a query with multiple “from” clauses</title><link>http://blogs.msdn.com/pfxteam/archive/2007/12/07/6696413.aspx#6697865</link><pubDate>Sat, 08 Dec 2007 02:03:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6697865</guid><dc:creator>poojanagpal</dc:creator><description>&lt;p&gt;Good question, Keith.&lt;/p&gt;
&lt;p&gt;PLINQ uses the type of the data source to determine the partitioning scheme. For data sources like arrays, lists and IParallelEnumerable.Range, PLINQ can determine the size of the dataset and partition it into &amp;quot;ranges&amp;quot; of pre-calculated lengths. For a data source of type Enumerable, the size cannot be pre-determined. PLINQ uses chunk-partitioning scheme for such datasets. You can read more about Range and Chunk Partitioning at &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/pfxteam/archive/2007/12/02/6558579.aspx"&gt;http://blogs.msdn.com/pfxteam/archive/2007/12/02/6558579.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now, this important is to know while writing PLINQ queries because some applications might perform better with Range partitioning and some with Chunk partitioning.&lt;/p&gt;
&lt;p&gt;That said ToArray() in this post is probably confusing since it conflicts with the Ray Tracer code. I will edit the post to make it clear. Thanks for pointing it out!&lt;/p&gt;
</description></item><item><title>robinzhong&amp;#8217;s blog   - links for 2007-12-14</title><link>http://blogs.msdn.com/pfxteam/archive/2007/12/07/6696413.aspx#6772227</link><pubDate>Fri, 14 Dec 2007 23:22:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6772227</guid><dc:creator>robinzhong’s blog   - links for 2007-12-14</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.robinzhong.com/index.php/archives/2007/12/15/232.html"&gt;http://blog.robinzhong.com/index.php/archives/2007/12/15/232.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Code With No Name (Part 2): Closures | Ekinoderm</title><link>http://blogs.msdn.com/pfxteam/archive/2007/12/07/6696413.aspx#9137699</link><pubDate>Mon, 24 Nov 2008 19:30:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9137699</guid><dc:creator>Code With No Name (Part 2): Closures | Ekinoderm</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.ekinoderm.com/wordpress/2008/11/closures/"&gt;http://www.ekinoderm.com/wordpress/2008/11/closures/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>