I have written a graphics program that works on a color picture using 
three separate planes of color, where the processing for each can be 
done simultaneously. Currently the program takes about fifteen hours to 
complete under 18e, and, I hope, only about 4 hours under the new 19a. 
I have a dual processor machine and I thought that I might be able to 
halve my processing time further by using mp::make-process to divide the 
problem up, running a separate process for each color plane.   But I did 
this, I found that it seemed to make no difference whether I use 
mp::make-process to run the calculations simultaneously or to just run 
them serially one after another.  When I look at the output of the 'ps 
-avx' I also only see one lisp process running.

Does the multi-threading actually allow the separate threads to run on 
different processors?  If so, how do I find out how this is done?

As an alternative, should I just create separate lisp programs to run 
each plane?  (I had hoped to be able to share some of the common data 
structures used by each color plane.  An entirely separate program would 
make this more difficult.)
thanks
Blake


Reply via email to