I have a parent application (which I think of as a test harness) that
wants to invoke a fairly intensive image processing application against
a directory full of image files. Each image is processed independently.
So, to get performance, I wanted to get the work happening on each of
those images in parallel. So I could divide the files in the directory
into two sets, and submit one set for processing in one process/thread
and the other set in another process/thread. Note that the
sub-process/threads are almost totally separate from the parent app, so
relatively little information needs to go back and forth.
Here is what I’ve learned so far from reading two books and lots of
One point is that there’s no process support on Windows, which isn’t a
deal killer for me.
Another point is the operation on multi-core CPUs: processes will, and
threads will not use the mutliple cores. This too is fairly “don’t care”
I am interested in ease of implementation and debugging. And I am also
very interested in getting the cpu and disk active at the same time as
there is a fairly large amount of data to be read form the disk.
What are your recommendations?