Without looking at your code, it's impossible to tell, BUT... on a modern PC, any operation which isn't EXTREMELY complex should not take 3 minutes. The most likely thing is that you have something artificially filling the time, like wait functions, timeout settings or the other party (your device). For example, the default timeout for the serial functions you're using is 10 secs. Even if there is something that's really taking that long, the nice thing about LV is that you can have parallel code simply by making parellel loops. You can have the data read constantly and moved to another loop where the lengthy calculations will take place. I suggest you post your code and let everyone have a look. Maybe someone will spot an obvious reason for this.
___________________
Try to take over the world!