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
