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.
Optimization advise
-
- Posts: 66
- Joined: Wed Apr 04, 2007 3:32 am
- Location: Spain
Optimization advise
Hello Martin,
You can remove all data sources which linked to report after report rendering. All information which required for report printing and showing stored in report property - RenderedPages. You can clear report.DataStore property and report.DataSources property after report rendering.
Thank you.
You can remove all data sources which linked to report after report rendering. All information which required for report printing and showing stored in report property - RenderedPages. You can clear report.DataStore property and report.DataSources property after report rendering.
Thank you.