LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

reformat efficiency

Hi,

In the attached sub-vi I am taking data from multiple scans of a radiometer, decoding it, and trying to put it in a format for calculating an average and standard deviation.  It runs mind-bogglingly slow.  Are there some adjustments I could make for it to run quicker?  Specifically, are there better ways for me to handle the data in clusters and arrays?  Any comments are greatly appreciated.

I included some data as the default input.  It is common for there to be 10 times as much data processed as I included.

-Danny

Message Edited by kaufman on 08-16-2006 09:33 AM

0 Kudos
Message 1 of 7
(3,829 Views)
Main Computation.vi is missing
Best regards
chris

CL(A)Dly bending G-Force with LabVIEW

famous last words: "oh my god, it is full of stars!"
0 Kudos
Message 2 of 7
(3,814 Views)
I see a few Build Array functions inside the right case structure in the For loop.  Those can be particularly nasty since they force a memory manager call and new allocation.  Those are very expensive (time consuming) operations.  The Main computation.vi is missing, and I suspect that there will be more perforance gains to be found inside there.

Dan Press
Certified LabVIEW Architect
PrimeTest Automation
0 Kudos
Message 3 of 7
(3,812 Views)
Thanks for pointing that out.

The main computation vi is used mainly to interpret the raw data from the instrument, and is also a previous programmer's work.  I've run the loop with just the main computation vi and nothing else.  This runs very fast.  It seems that everything else in the loop is what is slowing it down.  Now I've attached the entire hierarchy, so you should be able to run it with the test data.

-Danny

Message Edited by kaufman on 08-16-2006 09:52 AM

0 Kudos
Message 4 of 7
(3,811 Views)
Thanks for pointing out the build arrays.  I forgot to check the other cases when I put in the replace array function. 😛

-Danny

Message Edited by kaufman on 08-16-2006 09:54 AM

0 Kudos
Message 5 of 7
(3,810 Views)
i type too damn slow Robot Sad

Message Edited by jasonhill on 08-16-2006 10:01 AM

0 Kudos
Message 6 of 7
(3,802 Views)
so, for some physical context of the data:  The data structure, 1-d array of clusters with a 2-d array, is based on 14 optical detectors, the last 6 being on the same channel (but designated by the "filter wheel position" which goes from 1-6).  The 14 detectors are the 14 array elements.  In each array element is part of the data from that detector.  The data is x-angle of the instrument's mirror, y-counts from the detector.  The 2-d array only includes the counts.  There are counts for each angle within a single scan and then also there are multiple scans.  This 2-d array of counts for each detector gives the data structure its structure.

-Danny
0 Kudos
Message 7 of 7
(3,788 Views)