LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Software Slowdown - Enqueue Problem?

I have a logging VI which enqueues information to log queue. It is found in various places in my software.

Another VI runs as a background process and dequeueing the information for saving.

Sometimes (not sure when), I am experiencing a major slowdown in the software.

 

When I disabled (using disable diagram) the "Enqueue Element" in this VI - everything is working perfect.

 

I enabled it again and check the time before and after the enqueue operation and and got maximum of 2ms.

The slowdown is of few seconds, so I really don't understand what is happening.

 

I tried limit the queue size and use lossy enqueue - didn't change.

 

LabVIEW 2010 on XP.

 

Any suggestions?

 

Thank you,

Amir.

0 Kudos
Message 1 of 5
(2,798 Views)

@Amir_Y wrote:

I have a logging VI which enqueues information to log queue. It is found in various places in my software.

Another VI runs as a background process and dequeueing the information for saving.

Sometimes (not sure when), I am experiencing a major slowdown in the software.

 

When I disabled (using disable diagram) the "Enqueue Element" in this VI - everything is working perfect.

 

I enabled it again and check the time before and after the enqueue operation and and got maximum of 2ms.

The slowdown is of few seconds, so I really don't understand what is happening.

 

I tried limit the queue size and use lossy enqueue - didn't change.

 

LabVIEW 2010 on XP.

 

Any suggestions?

 

Thank you,

Amir.


I think you stoped your investigation too early.

 

By disabling the enque queue you may have (probably) shut-down the work being done by the logging code.

 

I suggest you take the next step...

 

Enable teh enuquw again but now disable what is done with the data AFTER it is removed from the queue. I suspect the bottle neck is writting to file.

 

Ben

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

I'll add to what Ben has said. In the logging section you may want to disable the actual writing to the file, but still dequeue the data.

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



Message 3 of 5
(2,785 Views)

@LV_Pro wrote:

I'll add to what Ben has said. In the logging section you may want to disable the actual writing to the file, but still dequeue the data.


Thank you Putnam!

 

That was exactly my point and it very important to be able to "interpret the entrails" corectly.

 

Ben

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

Thank y'all,

 

Of course, you were right, the problem was somewhere else.

This queue led to another queue which caused the problem. The other queue was very large (thousands of cluster elements) and I used Get Queue Status in irresponsible way - returning all elements every 200ms...

Although it is running in parallel, it caused the slowdown in all the software parts.

 

Thank you again,

Amir.

 

 

0 Kudos
Message 5 of 5
(2,768 Views)