LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview DLL call expected performace

Solved!
Go to solution

Hi all

 

I'm about to create a new LV EXE application with pluggable modules.

For the sake of future compatibility and expandability, in this phase I'm planning to deploy plug-ins in form of DLL files, even if they are actually coded in LV.

Given all of the above, I'm experimenting a bit on the expected performance of such an arichitecture.

The test application is made of the following components:

- one DLL that incorporates the consumer, the consumer launcher, the exit command enqueuer, the data enqueuer, the consumer VI ref getter;consumer.png

 

launcher.png

exitenqueue.png

 DataEnqueuer.png

 VIrefGetter.png

 

 

 

 

 

 

 

- one EXE with a simple producer.
EXEproducer.png

 

 

 

With this stub, running on a i7 cpu, I obtained about 30 to 50 calls per millisecond with a 30% processor load.

Since the final work should accomodate a maximum of 10 plug-ins with a now difficult to estimate data exchange rate and at least one inbound and one outbound queue each, I'm about concerned of the final expected performance.

 

Do you think that the numbers I'm obtaining are something of realistic? Do you judge my code enough efficient or flawed in some aspect?

 

Thank you for your opinion.

 

Best

 

Raf

 

0 Kudos
Message 1 of 3
(2,292 Views)
Solution
Accepted by topic author Raf@Tecnora

From looking at your image only, your call library node is configured to run in the UI thread. This probably slows you down. (I have not studied the rest of your stuff).

Message 2 of 3
(2,269 Views)
Good point Altenbach! By setting "Run in any thread" I reached about 200 calls/millisecond with 40% CPU load. Thank you, I completely overlooked that. I think this is something I can deal with in my project. Raf
Message 3 of 3
(2,247 Views)