Don't expect miracles... working on real values is slow, much slower than working on integers. If you want doubles, you have to cope with bigger delays. You can use an external thread to help you do your work while the other thread is waiting for the data to arrive from the device.