LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

.NET method calls become slower in 24/7 runs

Hello news group,

we are still struggeling with our memory leak and performance problem.

It now turned out that the longer our app runs, the longe it takes to call
..NET
methods.

The app has a measurement loop which is executed multiple times per second.
With each cycle a .NET method transfers measurement results (1D Dbl Arrays
(size 256 - 1024 elements))
to the LabVIEW app.

The application is then processing this data in multiple ways.

I could figure out that the execution time of the vi that is calling the
..NET method is at
2 ms in the first hour of the app live time and at 30 ms after the app was
running for 12 hours.
It appears that this call time continously increases.

Does anybody know what might cause this and how to prevent this behavior?
Did any of you experience similar performance drops while running a .NET
assembly
longer than a couple of hours.

Thanks again for your help, Sebastian Dau


0 Kudos
Message 1 of 5
(2,729 Views)
Hi Sebastian:

Can you post an screenshot or something of your vi managing the array .NET send to your labview VI?

Aitortxo
Aitortxo.
0 Kudos
Message 2 of 5
(2,724 Views)

Is this a labview leak or dot net memory leak.  If you are making many instances of a .Net object and not de-referencing then the memory is not garbage collected.  you should makesure that you close the references after use and can even call .net's garbage collector to see if your memory is being released.  If it is a labview memory leak this is usually due to building larger and larger arrays inside a loop, an easy method of fixing this is when the array gets to a certain size (ie 64K elements), save it to disk and only keep the data you need.

Paul 

Paul Falkenstein
Coleman Technologies Inc.
CLA, CPI, AIA-Vision
Labview 4.0- 2013, RT, Vision, FPGA
0 Kudos
Message 3 of 5
(2,721 Views)
Hi,

"falkpl" <x@no.email> wrote in message
news:1134650460660-300382@exchange.ni.com...
> Is this a labview leak or dot net memory leak.&nbsp; If you are making
> many instances of a .Net object and not de-referencing then the memory is
> not garbage collected.&nbsp; you should makesure that you close the
> references after use and can even call .net's garbage collector to see if
> your memory is being released.&nbsp;

..NET Memory is OK as I wrote number of rerferences is constant

If it is a labview memory leak this is usually due to building larger and
larger arrays inside a loop, an easy method of fixing this is when the array
gets to a certain size (ie 64K elements), save it to disk and only keep the
data you need.

Unfortunately its not in any array... we were using labview profiler to
monitor memory usage of every vi. No array is getting bigger thow.



0 Kudos
Message 4 of 5
(2,711 Views)
Hi Sebastian:

May be, the memory you are using is not increasing, but it can take harder to memory manager to find a free memory space to hold the array .NET is sending.

Reusing of memory space can be a solution for you, but I don't know if it can help you as I don't have enough information.

If you could post a part of your VI you could be helped a bit better.

Aitortxo.
Aitortxo.
0 Kudos
Message 5 of 5
(2,704 Views)