LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Extremely long build times using object oriented code

We have a LabVIEW application that we need to build an .exe for distrubution purposes.  The application relies on several object-oriented classes for data handling and dynamic dispatch type casting and function selection.  Currently it takes approximately 1.5 hours to build the application and it seems that most of the time is spent processing the object oriented files.  Has anyone else seen this issue and are there any creative ways to improve the build times?
0 Kudos
Message 1 of 7
(2,952 Views)

Faraclas wrote: 
it takes approximately 1.5 hours to build the application ...

That's seems broken. Have you tried it on another computer?

FYI, I have a project with about 100 VI's, but only one Class with quite a lot of dispatching. It takes less than 4 minutes to build the EXE.

Richard






0 Kudos
Message 2 of 7
(2,933 Views)

Mike Porter and I developed a largish LVOOP app with 1200-1500 VI's and Mike noticed a very long build time. He eventually discovered that I had used the "mean" function to locate the center of a FP object (the center is just the average of teh top-left and bottom-right corner). Well the mean operator is actaully part of teh avanced analysis so .... he re-wrote the mean and cut down the build time conciderably.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 3 of 7
(2,929 Views)

Ben wrote:

Mike Porter and I developed a largish LVOOP app with 1200-1500 VI's and Mike noticed a very long build time. He eventually discovered that I had used the "mean" function to locate the center of a FP object (the center is just the average of teh top-left and bottom-right corner). Well the mean operator is actaully part of teh avanced analysis so .... he re-wrote the mean and cut down the build time conciderably.

 

Ben


"mean" function or Mean.vi ?

Richard






0 Kudos
Message 4 of 7
(2,900 Views)

Broken Arrow wrote:
...

"mean" function or Mean.vi ?


Yes that's the one. (I am still learning the names Smiley Tongue )

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 5 of 7
(2,897 Views)

Ben wrote:

Broken Arrow wrote:
...

"mean" function or Mean.vi ?


Yes that's the one. (I am still learning the names Smiley Tongue )

 

Ben


 

Yep, a CIN. FYI and Off-Topic: Mean PtbyPt.vi is a good old fashioned VI which can be trimmed of the unused case statements.

 

Anyway, the scenario I mentioned above uses seven occurrences of Mean.vi and still builds fast, but is not a huge project. Point is, it may not be Mean.vi (on it's own) which is the issue. 

 

Richard






Message 6 of 7
(2,892 Views)

Hi again.  We are still having issues using LVOOP due to extrmely long .exe build times as well as long labview loading times.  I traced the source of this to one class hierarchy, shown below.  This hierarchy also relies heavily on overriding top-level functions, declared as virtual VIs in the top level class, which I suspect contributes to this problem.  While debugging another issue, I was trying to build a small piece of my main code into an .exe to verify its functionality and experienced the same extremely long build times.  When I removed this class hierarchy from the VI, it built extremely fast.  Also to be clear, I am using neither the mean function or Mean.vi anywhere in this set of code. Smiley Very Happy  To date we have been delighted with LVOOP and how it has made our code cleaner, mroe robust, and more maintanable.  However, when creating new functionality in the code we often elect NOT to create new objects (even though they would be beneficial) because we are hesitant to introduce the extra time (load and build) required for LabVIEW to handle these classes.  If our entire system was rewritten in LVOOP, I would suspect that it would become unmaintainable and unbuildable due to the LVOOP overhead.  I was hoping that LV2009 would address some of these issues but, alas, it did not. Still looking for a way to improve this and thanks in advance for all of the replies.

 

 

ClassHierarchy.jpg

0 Kudos
Message 7 of 7
(2,760 Views)