Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X
Hello,
would you please help me with a memory issue that I have?
I have a stream with some data which covers a certain amount of time (let's say one year).
The user must query a period from that year, get data, make calculus and plot the results.
If I do this runtime it may take a while to do the calculus (like 3 or 4 seconds) because there are stored thousands of rows and if I have to switch to one thing to another from the list it could be "ugly" if it takes 3 or 4 seconds any time I change item plus, more important, CPU overworks.
One more thing is that there are multiple users working on the same virtual machine so it can be even worse.
My clue was to set a property for each thing with INFOTABLE as basetype so anytime I make a search, my service fills this property with the result and my plot is on the property instead of the service result.
In this case, the calculus is done only once and not anytime I switch item from the list.
Now I was wondering: where these Infotable data are stored? In the RAM? Becuse in that case I will have another problem of memory if I have a lot of things.
I hope my question is clever enough.
Thank you
All Thing's properties are on RAM, and if it are persistent also in disk.
So if I have houndreds of things it is not recommended to set a huge amount of properties like a infotable with thousands of rows, is it?
For sure not.
Thank you. I will look for another solution
@fmanniti Did you find any solution to it, because we are facing exactly the same problem? Thanks in advance.
What I did, for each thing I made a stream (I called it HistoryStream) . Anytime a new data comes, I do calculus and store the result into the stream.
I have a lot of streams, it's true, but plotting the results is way faster.
To me is the best solution so far.