Optimization advise
Posted: Thu Mar 04, 2010 7:33 am
Hi:
I am trying to optimize the way StimulReports works in our WinForms program, and I have taken several steps that have improved performance drastically, but I have a problem that I need help with.
One step I have taken is to compile reports to a dll, and this works fine and is a considerable speed optimization. Another step I have taken is to create a cache of frequently used reports to keep them in memory, and return the in-memory report when requested. This has made a huge improvement. I use a MRU algorithm so I don't hog all the available memory.
Now what I would like to do is clear the DataStore if reports that have been used, but have been idle for more than 'x' mins. I will use a Timer to control the idle time, but I need to know how and what data I can safely clear. Also, is there any way to determine if the report is currently being printed/shown?
Any other advise would be greatfully accepted!
Regards,
Martin.
I am trying to optimize the way StimulReports works in our WinForms program, and I have taken several steps that have improved performance drastically, but I have a problem that I need help with.
One step I have taken is to compile reports to a dll, and this works fine and is a considerable speed optimization. Another step I have taken is to create a cache of frequently used reports to keep them in memory, and return the in-memory report when requested. This has made a huge improvement. I use a MRU algorithm so I don't hog all the available memory.
Now what I would like to do is clear the DataStore if reports that have been used, but have been idle for more than 'x' mins. I will use a Timer to control the idle time, but I need to know how and what data I can safely clear. Also, is there any way to determine if the report is currently being printed/shown?
Any other advise would be greatfully accepted!
Regards,
Martin.