I have an application that is implemented in WinForms, which processes ~ 7800 URLs in about 5 minutes (loads the URL, analyzes the content, searches for specific pieces of data and, if it finds that it is looking for it, does some additional processing of this data .
This is a specific application, used to run from 26 to 30 minutes, but by changing the code to TPL (parallel task library in .NET v4.0), it only runs 5. The computer is a Dell T7500 workstation with dual-core quad-core Xeon processors (3 GHz ) working with 24 GB of RAM and the 64-bit version of Windows 7 Ultimate.
Although this is not quite the same as your situation, it is too intense. The TPL documentation claims that it was originally designed for problem sets with a processor set, but that does not preclude its use in I / O situations (as my application demonstrates to me). If you have at least 4 cores and you have not noticed that the processing time has been significantly reduced, you may have other implementation problems that prevent TPL from working effectively (locks, hard disk elements, etc.). The book "Parallel Programming with Microsoft.NET" really helped me understand the "how" your code needs to be modified to really use all of these features.
Worth a look, in my opinion.
source share