/parallel-programming

Code, slides, and links for "Run Faster: Parallel Programming in .NET"

Primary LanguageC#

Run Faster: Parallel Programming in .NET

Want to see code run 7 times faster? Here we use parallel programming to make full use of our multi-core systems. Techniques include .NET Parallel.ForEach and also spinning up Tasks manually to take more control over the process. Along the way, we see how to write code that is easy to run in parallel (warning: it may start you down the path of functional programming). Use the hardware you have to run faster.

Code Samples

  • NonParalellizable
    This is the "Mazes" project that is difficult to make parallel due to the nature of the algorithms. The algoritms all require sequential processing, meaning that the next step cannot be computed until the previous step has been completed.

  • ParallelFor
    This is the "Conway's Game of Life" project. This shows how to use Parallel.For to run multiple tasks in parallel. In addition, the "conway-performance" project compares different levels of parallel performance using Parallel.For and Task.

  • ParalleWithTask
    This is the "Digit Recognition" project that contains console applications to show single-threaded as well as parallel computation. There is also a desktop application to show performance differences side-by-side.

Links