Sandy,
Additionally to Jared's advices:
1. I'd vote to avoid using global in your case as well. It's much slower and tricky than you need.Try to use another LV techniques.
Several suggestions could be made:
Use functional global (sub-vi with one-time running loop with uninitialized shift registers).
Use separate VI server keeping your data and exchange data over e.g. control reference
2. I'd check if you clearing your strip chart and data buffers from time to time, or keeping these buffers at a reasonable size.
3. Try to not use very large files to store data. Separate them say, once per hour to keep size small enough.
4. Keep your files open during run-time and open/close them only once, but not in each cycle.
Generally it seems that memory used by application g
rows during run-time and causes this problem with speed etc.
The all issues are described in Developer Zone http://zone.ni.com.
Sure that LabVIEW will do this job very fast.
Hope this will help.
Sergey