ParallelFox (http://vfpx.codeplex.com/wikipage?title=ParallelFox&referringTitle=Home) example redone as threads. Unzip to MTmyVFP folder and run the following:
CD "c:\program files\mtmyvfp3"
DO "c:\program files\mtmyvfp3\steps after threads.prg" &&redone example using threads
*18.610
SET DEFAULT TO c:\parallelfox
DO c:\parallelfox\examples\steps_after.prg && parallel processes
*18.220
DO c:\parallelfox\examples\steps_before.prg && no parallel
*25.385
ParallelFox seems to be slightly faster with 5 tasks but more memory is used than if doing the same with threads. So, as # of tasks increase MtmyVFP would scale better in all likelihood and possibly end up as faster..
Update:
"Thanks for looking at ParallelFox. All other things being equal, in-process threads will be faster and take few resources than out of process workers. I'm not sure how much difference there will be, but your comparison was not really apples-to-apples. You should probably move the timer in my example above Parallel.StartWorkers(), although you should probably also turn off debug mode. MTmyVFP may be quicker in that case."