If you're running on Windows, you can use the task manager to look at CPU loading, including networking, cpu, and memory and form an idea of what's happening.
Just do a CTRL-ALT-DEL and select task manager from the popup.
Process Monitor utility from Sysinternals is also quite good for characterizing PC performance.
Not knowing any more than what you've said so far, you could be CPU, memory, or network bound or all three.
If you're doing synchronous i/o, then your code may be spin-locking or busy-waiting for input from your device - is it rs-232 or IEEE-488?
Menchar