Speed, and remote control
I think recoding in assembly language is probably not worth the effort.
With cooperation from the programmer, a decent optimizing compiler will
put out pretty fast code. GCC, at least, will do loop unrolling and
the like if you ask it to (and so far it seems we're all using
GCC). Instead we should concentrate on fundamental inefficiencies
(see below) and on writing code that is easy for the compiler to
optimize (on any platform). This way we don't even need to sacrifice
readability or maintainability or portability to get the speed.
>The ISA bus requires a 1usec hang for every I/O operation.
Yup, that matches my speed figures, assuming that the I/O massively
dominates the scan time on my system. I just modified libqcam to
remove the redundant I/O operations (one in three) and my frame rate
went to 1.855 from 1.432 (a 33% increase --- suspicious fraction, huh?).