LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview is very slow

Hi i am working on labview 7.1.I am building a VI of big
size(50MB).when i am editing the VI it is very very slow and it is
taking minutes of time for every action.please suggest me are there
any settings to change to avoid this problem.

0 Kudos
Message 1 of 12
(3,481 Views)
Hi 4303,

have you read the development guidelines? One of the main points is: "Avoid vi's bigger than your screen size!"
Why is your vi so big? Do you have big arrays set to 'default value'?

Compare this to a C-compiler (or whatever): create a 50MB project and do some recompiling after EVERY change you make... This would be slow too...
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 2 of 12
(3,466 Views)

Same problem for VIs of size >20MB with the same version of LV.

I think our PCs are dead slow... ! Smiley Wink

What configuration do U ve ?

Mine is P4, 2.80 GHz, 1 GB RAM. I think this is not enough for LV.

When we asked NI, they told us for LV 7.1 & LV 8.20, even 512 MB RAM is enough, for LV 8.0 only 1 GB RAM is required.

Can experts ve a say on this issue ?!

Regards,

- Partha ( CLD until Oct 2024 🙂 )
0 Kudos
Message 3 of 12
(3,466 Views)
HI parthabe,

memory requirement for developing environment has nothing to do with size of your vi's!
As said before: changes to your vi will force LabView to do a recompiling. Compiling includes more than just 'translation': sanity/error checks, optimizations steps and much more.

So: read the developement guidelines before creating big vi's or projects!
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 4 of 12
(3,459 Views)
Hi,

for both of you: here you find the Development guidelines checklist!
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 5 of 12
(3,444 Views)

Hi Gerdw,

I think I know 1/10th of the LV Style Guidelines, if not all of them.

But the problem is in 2 of my VIs in my application, they require extrordinary insertion, replacement & deletion of large chunk of data. say, constantly 16xN. This is because the user will choose digital signals of 0s & 1s for the 16 channels for N no of samples (columns) he wants & then in turn frame the test conditions for a particular test of an IC.

Since the user needs to insert, replace or delete whenever he wants, I need to keep an array of a predeclared size of 4Kx4K.

I think this eats u a lot of disc space indeed as you ve mentioned in your earlier post.

I cant think of a much better way to accomplish this task. Seperate file for each chunk of digital signal values will become another big problem with respect to insertion, replacement & deletion as pewr the serial nos, since this wil require to reneme or delete the file itself.

I hope this clearly explains you of my situation.

- Partha ( CLD until Oct 2024 🙂 )
0 Kudos
Message 6 of 12
(3,435 Views)
Hi parthabe,

do you use booleans or U16 integers?
Instead of 16 booleans you can use a binary formatted U16. This will save you 14/16 = 87.5% of memory usage (U16 needs 2 bytes, 16 booleans take 16 bytes)!
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 7 of 12
(3,430 Views)

Hi GerdW,

Can you follow this procedure ? Open a VI & make a 2-D Integer Array constant of U8.

Put the indices to 4096x4096 & fill with 0. This is what I had assigned 0s upto & kept inside those 2 VIs.

Now save the VI & see its size, a whopping 16 MB right ?

Try t out with Binary format for the Integer Array. Then also it is the same size. Not even a slight diff, right ?

Or, don't I understand what you meant to do... ?! Smiley Wink

For 2-D Integer Array of U16 of the above size, the VI size is a whopping 32 MB for both the cases, viz, normal integer & binary integer.

Can you explain a bit more to me about how to really reduce the VI size by reducing this 2-D Integer Array size ?

I reall ydon't know... Smiley Sad

- Partha ( CLD until Oct 2024 🙂 )
0 Kudos
Message 8 of 12
(3,421 Views)
Use a initialize array function!

That way the data is not stored inside the VI!

Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
Message 9 of 12
(3,409 Views)
Hi parthabe,

you said: '16 channels of 0/1'.

When you store this information as array of boolean you need 1 byte per boolean = 16 bytes for 16 channels.
But: you can use just one U16 to store the same information - and it only needs 2 bytes. 87.5% less memory consumption.

And as noted by TonP: use the 'Initialize Array' function...

One more question: why do you need a 4k×4k array when you only have 16 channels?

Message Edited by GerdW on 04-19-2007 09:13 AM

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 10 of 12
(3,362 Views)