What I've got here is a small program that tests the different motion detecting algorithms in the program motion. Here is its help screen:

$ ./dantest -?
Use -b to run a loop with one billion iterations.
Use -w < value > to set width (default 800)
Use -h < value > to set height (default 600)
Use -l < value > to set the number of loops we run on the algorithm (default 1000)
Use -c to disable generating a new random image. (default is change)
Use -r < value > to set how many frames between image changes (default 100)
Use -d to disable night compensation code.
Use -p < value > to set the rate pixels are changed when we change the image.
(1 means every pixel, 2 means every other pixel, etc). default 100
Use -o to enable loop count output.

If you wanna try it out, download it: dantest-0.1.tar.gz

The results I got were:

First, you have your regular usb web cam, at 7 frames per second. I tested each algorithm with a motion frame every 100 frames, which averages to one frame every 14.29 seconds

Next, you have three streams of 25 fps each. With motion every 100 frames, this averages out to one montion frame every 1.34 seconds.

7 fps 75 fps
Athlon XP 1700 1% CPU hybrid, 9.7% CPU standard 9.3% CPU hybrid, 104% CPU standard

Celeron 333
4% CPU hyrbid, 32% CPU standard 45% CPU hybrid, 343% CPU standard