Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Performance of .Net TDMS library versus TDM C DLL

I am attempting to convert some vibration data stored in a proprietary format into TDMS files.  I download an eval copy of Measurement Studio and use the .Net TDMS libraries to do this.  Basically:

  - create the file, add a channel group, add three channels, add various properties then

  - loop through my input data and AppendWaveform 8192 sample chunks at a time to each channel (i.e. each pass through the loop Appends 8192 samples to channel 1, then channel 2, then channel 3)

  - there are some 1.5 million samples for each channel in my input file, so the loop executes about 180 times.

 

This works fine, and performance is reasonable.  It takes on the order of 1 second to create the TDMS file.

 

I've been asked to use the TDM C DLL instead since it does not require a measurement studio license.

I converted the program to use TDM C DLL instead.  I have version 17.0 from 2017.  Algorithm is basically the same.  Now my write time is 3 seconds and further experimentation shows that as I add channels, the time increases non-linearly (40 additional seconds for the 4th channel, 60 additional seconds for the 5th channel, 120 secs.., etc.etc. ...) with the C DLL.  It increases linearly  (about 20 seconds per extra channel) with the .NET library.

 

Is there something non-obvious I need to do with the C DLL to make it track the .NET version?  Its almost as if the C DLL wants to read through the output file from the beginning each time I append to it.

0 Kudos
Message 1 of 1
(1,759 Views)