LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LVLIBP Deployment to PXI Slow

I have a LVLIBP file that I've just build from some existing code.  It's just one single LVLIBP file (not multiple layers) and I'm deploying it to a Linux PXI target.

 

The PXI deployment window shows every single VI in the LVLIBP being deployed to the target individually.  Each item in the list takes a few seconds and so the total deployment time is quite long.  I was hoping that by doing this I'd just see a single file (the LVLIBP itself) get deployed.  The compiled LVLIBP is only a few MB (I think it's less than 10MB), so I was expecting a nice fast (few seconds) deployment.  Any suggestions on what I might be doing wrong?  I know I could obviously reduce the time by taking out files, but I'm hoping there is some magical method of deploying it significantly faster as is.  My LVLIBP file is not in debug mode, and my deployed VI is pretty simple code that calls functions from the LVLIBP (not the LVLIB). There are a decent number of VIs to deploy in the LVLIBP, but I was hoping for much faster deployment. 

 

The deployment window looks something like this:
...

Deploying MyLib.lvlibp:Class1.lvclass:VI1.vi (10kb)

Deploying MyLib.lvlibp:Class1.lvclass:VI2.vi (10kb)

...

0 Kudos
Message 1 of 5
(244 Views)

Most of the time spent in the deployment is allocated for file transfer from the host PC to the RT target.

Is your RT target directly connected to your host PC?

What is the latency when performing a ping from the command prompt?

-------------------------------------------------------
Control Lead | Intelline Inc
0 Kudos
Message 2 of 5
(204 Views)

Thanks for responding.  I've since learned a few things.  The deployment process appears to be broken into parts.  First things are deployed to the target, then it appears to be loading everything into memory (I assume).  The dumping of files to the target is done very quickly, just a few seconds.  Then it begins this part after the blue line where it runs through every VI that is used from my classes.  I assume it's pulling into memory what it needs to run everything.

 

ShaneC_0-1725549782143.png

 

The part after the blue line in the deployment is what is taking forever.  I'm surprised though, because everything listed after that point is compiled code.  I don't know why all those VIs would take so long to load (or whatever they're doing).  It's taking about 3-5 times longer to deploy this as a compiled code library than it took to deploy the exact same code uncompiled.  Every line item in the deployment is a VI that I wrote, it's not like it's iterating through all of VI.lib, it's all my VIs.  It just takes a couple seconds per VI times a couple hundred VIs and that adds up to minutes.

0 Kudos
Message 3 of 5
(195 Views)

@Shane-C wrote:

ShaneC_0-1725549782143.png

 

The part after the blue line in the deployment is what is taking forever.  I'm surprised though, because everything listed after that point is compiled code.


Are you sure you are not trying to deploy the original library as well?

The last 2 lines show VIs from the original (uncompiled) library (extension .lvlib).

 

Maybe there are some callers that still call VIs from the lvlib ?

 

Regards,

Raphaël.

0 Kudos
Message 4 of 5
(188 Views)

Gah, sorry.  That's what I get for trying to edit that text by hand.  I was trying to hide potentially proprietary names and so I modified the output by hand.  There is an uncompiled library that is very small, it's just a VI that is calling my compiled library.  Just so happens that is the deployment shown on the lines I happened to show in my image.  The structure of the code is:

 

Small uncompiled library with one VI

Large (ish) compiled library that is called by the small one

 

I did verify that the uncompiled version of the large library is not also deployed.  

 

I did an experiment just now where I put 600 copies of a random VI with some math in it into a LVLIBP, then called all of them in another VI and deployed that to my RT target.  It deployed incredibly fast.  Each of the 600 VIs in the LVLIBP deployed and pulled into memory in just a few seconds.  My custom built VIs that I actually want to deploy on the other hand deploy very slow.  I'm not sure why though.  I guess I'll start picking it apart and trying to get smaller parts to deploy and see if I can learn anything that way.  It's just confusing because the exact same code deploys very fast when not compiled still.

Message 5 of 5
(181 Views)