Author's Blogs

Use lambda expressions in C# to simplify the parallelized code
By gaston-hillar Posted on 05/13/09 1
So, you want to start using Task Parallel Library Beta 1. You want to take advantage of the new features that will be available in .Net 4.0. Hold on! Are you familiar with lambda expressions? If you aren’t using lambda expressions in your current C# programs, you should begin learning about them ...
Specifying the desired degree of parallelism in .Net 4.0 TPL Beta 1
By gaston-hillar Posted on 05/06/09 2
Sometimes, you don’t want to use all the available cores in a parallel loop. Why? Because you have better plans for the remaining available cores. Thus, you want to specify the concurrency level of a parallel loop. Luckily, Task Parallel Library Beta 1 will allow you to do this using the new Para...
Counting cores in .Net and Java
By gaston-hillar Posted on 05/04/09 14
As C# and Visual Basic (in the .Net world) and Java are high level programming languages, most developers were not used to check for some hardware information. With multicore microprocessors and a task-oriented programming model, trying to take full advantage of parallel processing capabilities o...
Invoking parallel tasks
By gaston-hillar Posted on 04/28/09 3
In a recent post, Robert Chesebrough (Intel) talked about less focus on threads and more focus on tasks. I agree with him. I do believe that decomposing the job to be done into many tasks is the key to a successfully parallelized algorithm. Once you have the most important tasks, you can re-desig...
Parallel Extensions offer backward compatibility
By gaston-hillar Posted on 04/22/09 4
Many developers are working with the features offered by C# 3.0 and .Net 3.5 to exploit multi-core CPUs. Parallel Extensions, which will be part of .Net 4.0 in Visual Studio 2010 are entering Beta 1. Luckily, they will offer backward compatibility. Parallel Extension will offer a lot of interesti...
Concurrent collections for C# using Parallel Extensions
By gaston-hillar Posted on 04/08/09 6
One of the most difficult tasks related to concurrent programming in C# and .Net 3.5 is sharing collections, arrays or lists between many tasks running at the same time. Besides, the complexity increases when these concurrent tasks need to add and/or remove items from them. Doing this safely invo...