From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Auto-population: Dramatic performance loss when working on large projects

Hi folks,

I am currently contributing to a bigger LV project (>3000 VIs) which uses the Actor Framework. The bigger the project got over time, the slower the software became in total (e.g., reaction on a user event, responsiveness). The hourglass appeared periodically every 2 to 3 seconds. When dragging the main VIs window it was no smooth movement anymore; the window halted and jumped after one or two seconds to the mouse position. Further user events were ignored from time to time (which was to annoying to ignore it).

However, last time I identified the reason for this while I chased an other "feature" (LV closes from time to time without any error message...don’t know why, yet).

I monitored the LV process actions by using the ProcMon tool. While the project was open (only open, no VI executed) I saw a massive hard drive access triggered by the LV process. There are operations like QueryOpen, CreateFile, QueryBasicInformationFile, ReadFile, CloseFile, etc. My explanation is, that when auto-population is activated, LV checks all the project subdirectories for possible changes. When I stopped the folder auto-population the LV process started to become silent.

 

I wondered, if our LV tool would experience a performance boost and executed it. The window movement behaves like it should. All user GUI events are executed immediately and the tool is responsive like never before.

As a statement, Auto-population has an enormous performance impact when working on large LV projects.

 

Our solution for now is to turn on auto-population only for development reasons (for the sake of comfort)

If you have some performance issue this might be a solution.

 

I am really interested if anyone else experiences a similar result 🙂

 

Cheers

 

0 Kudos
Message 1 of 3
(2,634 Views)
The two sources of your problem are in the first sentence of your post: Over 3000 VIs, seriously?!? Ah, the actor framework, that explains it.

The point is that regardless of the supposed advantages this technique offers, its scalability is terrible -- as you have discovered. Despite the many problems the AF causes, NI keeps pushing it, don't understand.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 3
(2,618 Views)

Hi and thanks for your response.

Yes, currently the number decreased slightly to 2986 but its still a lot.

I do not have any measures regarding the scalability of the AF. However, the performance and responsibility strongly increased when I turned of the auto-population functionality.

0 Kudos
Message 3 of 3
(2,556 Views)