Какой протокол связи у устройством?
Синхронный протокол типа запрос-ответ в Windows всегда работает медлено. Немного можно улучшить ситуацию используя flush() для проталкивания данных, сделать отдельный высокоприоритетный поток (либо отдельный процесс) для отправки и приема данных. Если возможно, разделить потоки отправки данных и приема данных, т.е. отправлять запросы пакетами не дожидаясь ответа.