LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Timing problems reading tdm files

Hello NI community,

 

my first post because of a very annoying problem with the Storage VIs from the File I/O VIs and Functions palette. I spent a long time to create a program for analyzing tdm files and I spent almost the same time trying to fix this problem nowSmiley Sad

My program opens a single tdm file, reads in the data and analysis it, displays the result (e. g. 10 DBL values) and closes the tdm file afterwards, then it opens the next tdm file... . 

The Problem is, that the execution time increases permanently e. g. starting at 50 ms after 4000 tdm files read it takes about 1 s! So it takes days to read in more than 10000 tdm files. Also it takes many minutes to close the program after reading many (e. g. 4000) files!

 

Maybe the Storage VIs store the data in the background on a server or something else and do not release this data after closing the tdm file.

Has anyone an idea how to fix this problem? How to release all resources after closing the tdm file. Is there an alternative method to read in tdm files without using the buggy Storage VIs.

 

Converting tdm to tdms does not help, converting time increases the same way.

Wait time (0,5 s) after closing the tdm file does not help.

Settings for tdm VIs: open (read only)

LabView2011 SP1

 

Thanks in advance

 

Daniel

 

0 Kudos
Message 1 of 3
(2,128 Views)

Daniel,

 

can you attach your code?

 

I expect you to observe growing memory consumption as well. The reason i think so is that i expect your code to contain unlimited growing arrays....

 

Norbert 

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 2 of 3
(2,113 Views)

Hello Norbert,

 

thank you for your reply!

Attached you´ll find a simplified example for testing.

It reads the same .tdm file multiple times. The behavior is the same than in my application.

Copy the files on your computer, select the correct folder for the .tdm file in the VI and press start. You´ll see the execution time for opening the .tdm file, for reading the data and also for closing the .tdm file rising.

 

For example "Read data" duration on my computer:

 

Loop #:     Duration 2:   Factor to duration at start:     Stopping program:

1              19 ms                                                    < 5 s

1000         42 ms         2

2000         63 ms         3

4000         101 ms       5

8000         185 ms       10

10000       222 ms       12                                        > 3 min

 

The tdm-files I need to read in are with .bin data files and bigger. Reading lasts about 100 ms for the first tdm-file. The factor is almost the same like in this example. So it takes about 1 s after reading 6000 tdm-files.

 

Best Regards

 

Daniel

0 Kudos
Message 3 of 3
(2,106 Views)