Before you make ANY decisions about alternate platforms, the first question you should ask (and answer) is "Where is the time being spent?"
The PROFILE tool can help with that.
Are you initializing a new DAQ operation every time? You shouldn't.
20 RPM = 0.333 Hz = 3 Sec per rev. At 4000 clicks per rev, that's 1 click every 750 uSec. That's not unreasonable.
Are you trying to react to every event? It's possible you may not need to - just read however many readings there are, process however many readings there are, and repeat.
Without seeing your code, it's hard to guess whether you truly are taxing the CPU, but maybe you could elaborate. I'm in the business of making things run faster.
The short answer is that you can't make the prog
ram run faster, you have to make it do less.
Linux or other OS will only help if your problem is in the OS portion of your code. (disk i/o ? graphics?)