<?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 for Reed Copsey, Jr.</title>
	<atom:link href="http://reedcopsey.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://reedcopsey.com</link>
	<description>Thoughts on C#, WPF, .NET, and programming for Scientific Visualization</description>
	<lastBuildDate>Sat, 04 Sep 2010 01:57:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on WPF &#8211; Common Dependency Property Exception by Steve</title>
		<link>http://reedcopsey.com/2009/10/23/wpf-common-dependency-property-exception/#comment-1141</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 04 Sep 2010 01:57:48 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=67#comment-1141</guid>
		<description>Here&#039;s a suggested topic: FrameworkPropertyMetadata and setting the default binding mode (as well as a host of other settings).</description>
		<content:encoded><![CDATA[<p>Here&#8217;s a suggested topic: FrameworkPropertyMetadata and setting the default binding mode (as well as a host of other settings).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on WPF &#8211; Common Dependency Property Exception by Steve</title>
		<link>http://reedcopsey.com/2009/10/23/wpf-common-dependency-property-exception/#comment-1140</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 04 Sep 2010 01:54:52 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=67#comment-1140</guid>
		<description>Now THAT&#039;s a good blog article ! 
I always appreciate it when someone really knows what they&#039;re talking about.</description>
		<content:encoded><![CDATA[<p>Now THAT&#8217;s a good blog article !<br />
I always appreciate it when someone really knows what they&#8217;re talking about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Long overdue Enum goodness in .NET 4 by Quagmandir</title>
		<link>http://reedcopsey.com/2009/10/26/long-overdue-enum-goodness-in-net-4/#comment-1135</link>
		<dc:creator>Quagmandir</dc:creator>
		<pubDate>Sun, 08 Aug 2010 02:47:02 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=77#comment-1135</guid>
		<description>Sorry for the necromancy but, I found you whilst looking for Enum goodies.

Now, as I have only today found this out myself, I felt I had to point out that the following statement is inaccurate:

&quot;Unfortunately, removing a flag isn’t quite as easy.&quot;

I believe you can use:

variable &amp;= ~TestFlags.Sixteen;

The ( ~ ) operator, apparently, AND&#039;s the _negative_ of the given flag.

Thanks, and enjoy!</description>
		<content:encoded><![CDATA[<p>Sorry for the necromancy but, I found you whilst looking for Enum goodies.</p>
<p>Now, as I have only today found this out myself, I felt I had to point out that the following statement is inaccurate:</p>
<p>&#8220;Unfortunately, removing a flag isn’t quite as easy.&#8221;</p>
<p>I believe you can use:</p>
<p>variable &amp;= ~TestFlags.Sixteen;</p>
<p>The ( ~ ) operator, apparently, AND&#8217;s the _negative_ of the given flag.</p>
<p>Thanks, and enjoy!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Better User and Developer Experiences &#8211; From Windows Forms to WPF with MVVM: Conclusion by Adam</title>
		<link>http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1132</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Mon, 26 Jul 2010 19:38:57 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1132</guid>
		<description>Great series.. thanks for taking the time to write it. This will definitely help me as I transition from WinForms to Silverlight (and hopefully some WPF).</description>
		<content:encoded><![CDATA[<p>Great series.. thanks for taking the time to write it. This will definitely help me as I transition from WinForms to Silverlight (and hopefully some WPF).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Behaviors to Allow the ViewModel to Manage View Lifetime in M-V-VM by <img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</title>
		<link>http://reedcopsey.com/2009/10/09/using-behaviors-to-allow-the-viewmodel-to-manage-view-lifetime-in-m-v-vm/#comment-1129</link>
		<dc:creator><img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</dc:creator>
		<pubDate>Thu, 22 Jul 2010 22:48:17 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=59#comment-1129</guid>
		<description>Dave,


The behavior, as is, just provides a single point where you can prevent the Window from being closed.  It does this by checking the CanExecute on the ICommand.

One simple option:

The command&#039;s CanExecute property, here, could prompt the user with a OK/Cancel button (and return false on Cancel).  This would warn the user, and they&#039;d have to hit &quot;OK&quot; to allow it to close without saving.</description>
		<content:encoded><![CDATA[<p>Dave,</p>
<p>The behavior, as is, just provides a single point where you can prevent the Window from being closed.  It does this by checking the CanExecute on the ICommand.</p>
<p>One simple option:</p>
<p>The command&#8217;s CanExecute property, here, could prompt the user with a OK/Cancel button (and return false on Cancel).  This would warn the user, and they&#8217;d have to hit &#8220;OK&#8221; to allow it to close without saving.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Behaviors to Allow the ViewModel to Manage View Lifetime in M-V-VM by Dave</title>
		<link>http://reedcopsey.com/2009/10/09/using-behaviors-to-allow-the-viewmodel-to-manage-view-lifetime-in-m-v-vm/#comment-1128</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Thu, 22 Jul 2010 20:14:40 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=59#comment-1128</guid>
		<description>How would you use this to warn a user they are going to lose their changes if they don&#039;t save?</description>
		<content:encoded><![CDATA[<p>How would you use this to warn a user they are going to lose their changes if they don&#8217;t save?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 18, Task Continuations with Multiple Tasks by Tweets that mention Blog series on Parallelism in .NET. Part 18, Task Continuations with Multiple Tasks #csharp #dotnet #TPL -- Topsy.com</title>
		<link>http://reedcopsey.com/2010/07/19/parallelism-in-net-part-18-task-continuations-with-multiple-tasks/#comment-1127</link>
		<dc:creator>Tweets that mention Blog series on Parallelism in .NET. Part 18, Task Continuations with Multiple Tasks #csharp #dotnet #TPL -- Topsy.com</dc:creator>
		<pubDate>Tue, 20 Jul 2010 01:53:50 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/07/19/parallelism-in-net-part-18-task-continuations-with-multiple-tasks/#comment-1127</guid>
		<description>[...] This post was mentioned on Twitter by ajlopez, Vicente Cartas and Vicente Cartas, Reed Copsey, Jr.. Reed Copsey, Jr. said: Blog series on Parallelism in .NET. Part 18, Task Continuations with Multiple Tasks http://bit.ly/anerWh #csharp #dotnet #TPL [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by ajlopez, Vicente Cartas and Vicente Cartas, Reed Copsey, Jr.. Reed Copsey, Jr. said: Blog series on Parallelism in .NET. Part 18, Task Continuations with Multiple Tasks <a href="http://bit.ly/anerWh" rel="nofollow">http://bit.ly/anerWh</a> #csharp #dotnet #TPL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 13, Introducing the Task class by Parallelism in .NET &#8211; Part 18, Task Continuations with Multiple Tasks : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/03/15/parallelism-in-net-part-13-introducing-the-task-class/#comment-1126</link>
		<dc:creator>Parallelism in .NET &#8211; Part 18, Task Continuations with Multiple Tasks : Reed Copsey, Jr.</dc:creator>
		<pubDate>Tue, 20 Jul 2010 01:19:45 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/03/15/parallelism-in-net-part-13-introducing-the-task-class/#comment-1126</guid>
		<description>[...] to how the Task class static methods providing a way to block until multiple tasks have completed, TaskFactory contains static methods which allow a continuation to be scheduled upon the completion [...]</description>
		<content:encoded><![CDATA[<p>[...] to how the Task class static methods providing a way to block until multiple tasks have completed, TaskFactory contains static methods which allow a continuation to be scheduled upon the completion [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 17, Think Continuations, not Callbacks by Parallelism in .NET &#8211; Part 18, Task Continuations with Multiple Tasks : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/04/19/parallelism-in-net-part-17-think-continuations-not-callbacks/#comment-1125</link>
		<dc:creator>Parallelism in .NET &#8211; Part 18, Task Continuations with Multiple Tasks : Reed Copsey, Jr.</dc:creator>
		<pubDate>Tue, 20 Jul 2010 01:18:41 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/04/19/parallelism-in-net-part-17-think-continuations-not-callbacks/#comment-1125</guid>
		<description>[...] my introduction to Task continuations I demonstrated how the Task class provides a more expressive alternative to traditional [...]</description>
		<content:encoded><![CDATA[<p>[...] my introduction to Task continuations I demonstrated how the Task class provides a more expressive alternative to traditional [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Synchronizing .NET 4 Tasks with the UI Thread by <img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</title>
		<link>http://reedcopsey.com/2009/11/17/synchronizing-net-4-tasks-with-the-ui-thread/#comment-1121</link>
		<dc:creator><img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</dc:creator>
		<pubDate>Tue, 06 Jul 2010 17:58:18 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=88#comment-1121</guid>
		<description>Tillias,

That&#039;s actually not accurate.  The default TaskScheduler, which is what is used when you do Task.Factory.StartNew, will use always use a ThreadPool thread to execute your Task, unless the LongRunning hint is specified, in which case it will use a dedicated thread (in .NET 4&#039;s implementation).  Either way, it should NEVER run on the UI thread, since the UI thread should never be on a ThreadPool thread.  

Tasks will only get scheduled on the current thread when the current thread is a threadpool thread, or the current thread is blocking on the result of a collection of Tasks (including the one that needs to execute).

That being said, if you want to force a task to run on a dedicated thread, you can do so by specifying the LongRunning hint (in the current implementation).  This is a much simpler alternative to creating a custom TaskScheduler.  Using an STA thread scheduler is really overkill, unless you specifically need an STA thread.

-Reed</description>
		<content:encoded><![CDATA[<p>Tillias,</p>
<p>That&#8217;s actually not accurate.  The default TaskScheduler, which is what is used when you do Task.Factory.StartNew, will use always use a ThreadPool thread to execute your Task, unless the LongRunning hint is specified, in which case it will use a dedicated thread (in .NET 4&#8242;s implementation).  Either way, it should NEVER run on the UI thread, since the UI thread should never be on a ThreadPool thread.  </p>
<p>Tasks will only get scheduled on the current thread when the current thread is a threadpool thread, or the current thread is blocking on the result of a collection of Tasks (including the one that needs to execute).</p>
<p>That being said, if you want to force a task to run on a dedicated thread, you can do so by specifying the LongRunning hint (in the current implementation).  This is a much simpler alternative to creating a custom TaskScheduler.  Using an STA thread scheduler is really overkill, unless you specifically need an STA thread.</p>
<p>-Reed</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Synchronizing .NET 4 Tasks with the UI Thread by tillias</title>
		<link>http://reedcopsey.com/2009/11/17/synchronizing-net-4-tasks-with-the-ui-thread/#comment-1120</link>
		<dc:creator>tillias</dc:creator>
		<pubDate>Tue, 06 Jul 2010 17:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=88#comment-1120</guid>
		<description>Hi Reed! 
Task doesn&#039;t guarantee that it will be executed in separate thread. I&#039;ve faced several common scenarios where Task&#039;s delegate is executed in GUI thread and thus the application is stuck. Custom TaskScheduler must be used in order to guarantee that task will be executed in separate thread ( and not in the same GUI one).

You can reed about it here: http://tillias.wordpress.com/2010/07/05/net-4-system-threading-tasks-and-wpf-ui-thread/</description>
		<content:encoded><![CDATA[<p>Hi Reed!<br />
Task doesn&#8217;t guarantee that it will be executed in separate thread. I&#8217;ve faced several common scenarios where Task&#8217;s delegate is executed in GUI thread and thus the application is stuck. Custom TaskScheduler must be used in order to guarantee that task will be executed in separate thread ( and not in the same GUI one).</p>
<p>You can reed about it here: <a href="http://tillias.wordpress.com/2010/07/05/net-4-system-threading-tasks-and-wpf-ui-thread/" rel="nofollow">http://tillias.wordpress.com/2010/07/05/net-4-system-threading-tasks-and-wpf-ui-thread/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Lazy initialization in .NET 4 &#8211; Lazy&lt;T&gt; by Murder, Blood and Thread Safe Singletons &#124; #2782 - Thinking about agile (small 'a') software development, patterns and practices for building Microsoft .NET applications.</title>
		<link>http://reedcopsey.com/2009/10/26/lazy-initialization-in-net-4-lazyt/#comment-1119</link>
		<dc:creator>Murder, Blood and Thread Safe Singletons &#124; #2782 - Thinking about agile (small 'a') software development, patterns and practices for building Microsoft .NET applications.</dc:creator>
		<pubDate>Sun, 20 Jun 2010 02:16:45 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=76#comment-1119</guid>
		<description>[...] Reed Copsey Jr. blogged about this and he gave me some pointers on my initial implementation. Here I’ve sealed the class and made the constructor private, rather than protected. Usually I’m not a big fan of sealing classes but in [...]</description>
		<content:encoded><![CDATA[<p>[...] Reed Copsey Jr. blogged about this and he gave me some pointers on my initial implementation. Here I’ve sealed the class and made the constructor private, rather than protected. Usually I’m not a big fan of sealing classes but in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 8, PLINQ&#8217;s ForAll Method by Parallel Programming with .NET</title>
		<link>http://reedcopsey.com/2010/02/03/parallelism-in-net-part-8-plinqs-forall-method/#comment-1115</link>
		<dc:creator>Parallel Programming with .NET</dc:creator>
		<pubDate>Sun, 23 May 2010 17:51:44 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/02/03/parallelism-in-net-part-8-plinqs-forall-method/#comment-1115</guid>
		<description>&lt;strong&gt;&quot;Parallelism in .NET&quot; Series by Reed Copsey, Jr....&lt;/strong&gt;

Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4...</description>
		<content:encoded><![CDATA[<p><strong>&#8220;Parallelism in .NET&#8221; Series by Reed Copsey, Jr&#8230;.</strong></p>
<p>Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 4, Imperative Data Parallelism: Aggregation by Parallel Programming with .NET</title>
		<link>http://reedcopsey.com/2010/01/22/parallelism-in-net-part-4-imperative-data-parallelism-aggregation/#comment-1114</link>
		<dc:creator>Parallel Programming with .NET</dc:creator>
		<pubDate>Sun, 23 May 2010 17:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/22/parallelism-in-net-part-4-imperative-data-parallelism-aggregation/#comment-1114</guid>
		<description>&lt;strong&gt;&quot;Parallelism in .NET&quot; Series by Reed Copsey, Jr....&lt;/strong&gt;

Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4...</description>
		<content:encoded><![CDATA[<p><strong>&#8220;Parallelism in .NET&#8221; Series by Reed Copsey, Jr&#8230;.</strong></p>
<p>Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Introduction by Parallel Programming with .NET</title>
		<link>http://reedcopsey.com/2010/01/19/parallelism-in-net-introduction/#comment-1113</link>
		<dc:creator>Parallel Programming with .NET</dc:creator>
		<pubDate>Sun, 23 May 2010 17:51:12 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/19/parallelism-in-net-introduction/#comment-1113</guid>
		<description>&lt;strong&gt;&quot;Parallelism in .NET&quot; Series by Reed Copsey, Jr....&lt;/strong&gt;

Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4...</description>
		<content:encoded><![CDATA[<p><strong>&#8220;Parallelism in .NET&#8221; Series by Reed Copsey, Jr&#8230;.</strong></p>
<p>Reed Copsey, Jr. has been writing a great series of articles on parallelism with the .NET Framework 4&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Introduction by Bruce</title>
		<link>http://reedcopsey.com/2010/01/19/parallelism-in-net-introduction/#comment-1112</link>
		<dc:creator>Bruce</dc:creator>
		<pubDate>Wed, 19 May 2010 14:50:20 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/19/parallelism-in-net-introduction/#comment-1112</guid>
		<description>[...] This post was mentioned on Twitter by Reed Copsey, Jr., Caspar Kleijne. Caspar Kleijne said: #rocks #mustread: #Parallelism in .NET. Introduction: http://bit.ly/4MEr7h #csharp #dotnet /via @ReedCopsey [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Reed Copsey, Jr., Caspar Kleijne. Caspar Kleijne said: #rocks #mustread: #Parallelism in .NET. Introduction: <a href="http://bit.ly/4MEr7h" rel="nofollow">http://bit.ly/4MEr7h</a> #csharp #dotnet /via @ReedCopsey [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Better User and Developer Experiences &#8211; From Windows Forms to WPF with MVVM: Conclusion by <img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</title>
		<link>http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1104</link>
		<dc:creator><img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</dc:creator>
		<pubDate>Thu, 29 Apr 2010 21:02:04 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1104</guid>
		<description>Dean,

Glad I can help :)

-Reed</description>
		<content:encoded><![CDATA[<p>Dean,</p>
<p>Glad I can help <img src='http://reedcopsey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-Reed</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Better User and Developer Experiences &#8211; From Windows Forms to WPF with MVVM: Conclusion by Dean Thrasher</title>
		<link>http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1103</link>
		<dc:creator>Dean Thrasher</dc:creator>
		<pubDate>Thu, 29 Apr 2010 20:46:02 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/01/07/better-user-and-developer-experiences-from-windows-forms-to-wpf-with-mvvm-conclusion/#comment-1103</guid>
		<description>Thanks for posting this series of articles, Reed. I understand WPF and the MVVM pattern much better now. It helps to see how things have changed and evolved since the WinForms days!</description>
		<content:encoded><![CDATA[<p>Thanks for posting this series of articles, Reed. I understand WPF and the MVVM pattern much better now. It helps to see how things have changed and evolved since the WinForms days!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 11, Divide and Conquer via Parallel.Invoke by <img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</title>
		<link>http://reedcopsey.com/2010/02/26/parallelism-in-net-part-11-divide-and-conquer-via-parallel-invoke/#comment-1102</link>
		<dc:creator><img src='http://reedcopsey.com/blog/wp-content/plugins/rpx/images/openid.png'/> Reed</dc:creator>
		<pubDate>Wed, 28 Apr 2010 22:55:20 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/02/26/parallelism-in-net-part-11-divide-and-conquer-via-parallel-invoke/#comment-1102</guid>
		<description>John,

It actually does 2^cpus, as you saw.  I&#039;d have two comments for this, however.  First, this was really just written as an example - I&#039;m sure to get this completely optimal, you&#039;d have to find the right balance here.  I suspect that this does run faster with extra work (I picked those numbers after profiling) for reasons such as non-optimal pivots, uneven workloads in comparisons, and other similar issues.

That being said, it is often better to have more work items than processors.  Depending on the work involved, even CPU intensive work often runs faster if given a few extra threads.  It&#039;s all about profiling your algorithm, and finding the right balance.</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>It actually does 2^cpus, as you saw.  I&#8217;d have two comments for this, however.  First, this was really just written as an example &#8211; I&#8217;m sure to get this completely optimal, you&#8217;d have to find the right balance here.  I suspect that this does run faster with extra work (I picked those numbers after profiling) for reasons such as non-optimal pivots, uneven workloads in comparisons, and other similar issues.</p>
<p>That being said, it is often better to have more work items than processors.  Depending on the work involved, even CPU intensive work often runs faster if given a few extra threads.  It&#8217;s all about profiling your algorithm, and finding the right balance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 11, Divide and Conquer via Parallel.Invoke by John Lilley</title>
		<link>http://reedcopsey.com/2010/02/26/parallelism-in-net-part-11-divide-and-conquer-via-parallel-invoke/#comment-1101</link>
		<dc:creator>John Lilley</dc:creator>
		<pubDate>Wed, 28 Apr 2010 21:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/02/26/parallelism-in-net-part-11-divide-and-conquer-via-parallel-invoke/#comment-1101</guid>
		<description>I&#039;m trying to understand the maxDepth setting, but it looks like setting maxDepth=Cpus will result in 2^Cpus threads, as opposed to CPUs threads?  Is this true?  

Given the potential lopsided-pivot problem of qsort(), is it sometimes better to choose more parallelism than CPUs &quot;just in case&quot; some of the problem sub-parts are much faster than the others?</description>
		<content:encoded><![CDATA[<p>I&#8217;m trying to understand the maxDepth setting, but it looks like setting maxDepth=Cpus will result in 2^Cpus threads, as opposed to CPUs threads?  Is this true?  </p>
<p>Given the potential lopsided-pivot problem of qsort(), is it sometimes better to choose more parallelism than CPUs &#8220;just in case&#8221; some of the problem sub-parts are much faster than the others?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 17, Think Continuations, not Callbacks by uberVU - social comments</title>
		<link>http://reedcopsey.com/2010/04/19/parallelism-in-net-part-17-think-continuations-not-callbacks/#comment-1100</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Mon, 26 Apr 2010 12:36:24 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/04/19/parallelism-in-net-part-17-think-continuations-not-callbacks/#comment-1100</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by ReedCopsey: Blog series on Parallelism in .NET. Published Part 17, Think Continuations, not Callbacks http://bit.ly/9LnctL #csharp #dotnet #TPL...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by ReedCopsey: Blog series on Parallelism in .NET. Published Part 17, Think Continuations, not Callbacks <a href="http://bit.ly/9LnctL" rel="nofollow">http://bit.ly/9LnctL</a> #csharp #dotnet #TPL&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Parallelism in .NET &#8211; Part 15, Making Tasks Run: The TaskScheduler by Parallelism in .NET &#8211; Part 17, Think Continuations, not Callbacks : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2010/03/18/parallelism-in-net-part-15-making-tasks-run-the-taskscheduler/#comment-1092</link>
		<dc:creator>Parallelism in .NET &#8211; Part 17, Think Continuations, not Callbacks : Reed Copsey, Jr.</dc:creator>
		<pubDate>Mon, 19 Apr 2010 20:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/03/18/parallelism-in-net-part-15-making-tasks-run-the-taskscheduler/#comment-1092</guid>
		<description>[...] The maintainability and ease of understanding drops.&#160; However, just as a standard Task can be created with a TaskScheduler that uses the UI synchronization context, so too can we continue a task with a specific context.&#160; There are Task.ContinueWith method [...]</description>
		<content:encoded><![CDATA[<p>[...] The maintainability and ease of understanding drops.&#160; However, just as a standard Task can be created with a TaskScheduler that uses the UI synchronization context, so too can we continue a task with a specific context.&#160; There are Task.ContinueWith method [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Behaviors to Allow the ViewModel to Manage View Lifetime in M-V-VM by Attached Property port of my Window Close Behavior : Reed Copsey, Jr.</title>
		<link>http://reedcopsey.com/2009/10/09/using-behaviors-to-allow-the-viewmodel-to-manage-view-lifetime-in-m-v-vm/#comment-1075</link>
		<dc:creator>Attached Property port of my Window Close Behavior : Reed Copsey, Jr.</dc:creator>
		<pubDate>Thu, 15 Apr 2010 21:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=59#comment-1075</guid>
		<description>[...] on The Code Project.&#160; It is a port of the MVVM-friendly Blend Behavior I wrote about in a previous article to use Attached Properties instead of a Blend [...]</description>
		<content:encoded><![CDATA[<p>[...] on The Code Project.&#160; It is a port of the MVVM-friendly Blend Behavior I wrote about in a previous article to use Attached Properties instead of a Blend [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 2010 Visual C# MVP Award by Nish</title>
		<link>http://reedcopsey.com/2010/04/01/2010-visual-c-mvp-award/#comment-1074</link>
		<dc:creator>Nish</dc:creator>
		<pubDate>Thu, 15 Apr 2010 21:09:52 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/2010/04/01/2010-visual-c-mvp-award/#comment-1074</guid>
		<description>Congratulations Reed! Totally well deserved award!</description>
		<content:encoded><![CDATA[<p>Congratulations Reed! Totally well deserved award!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Long overdue Enum goodness in .NET 4 by Moby Disk</title>
		<link>http://reedcopsey.com/2009/10/26/long-overdue-enum-goodness-in-net-4/#comment-1069</link>
		<dc:creator>Moby Disk</dc:creator>
		<pubDate>Wed, 14 Apr 2010 20:07:59 +0000</pubDate>
		<guid isPermaLink="false">http://reedcopsey.com/?p=77#comment-1069</guid>
		<description>Enum is still missing the most obvious one:

public static TEnum Parse(string value, bool ignoreCase);

It can&#039;t infer the enum type since it is a return value, but it still beats passing typeof(T).  Oh well.</description>
		<content:encoded><![CDATA[<p>Enum is still missing the most obvious one:</p>
<p>public static TEnum Parse(string value, bool ignoreCase);</p>
<p>It can&#8217;t infer the enum type since it is a return value, but it still beats passing typeof(T).  Oh well.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
 