02-28-2013 08:31 PM
General question related to processing time:
We have a report macro that uses ODS RTF to generates a listing report in RTF document, recently we updated the macro to generate RTF as well as PDF documents using ODS Tagsets. Macro is running fine and is generating both PDF and RTF reports with expected results, but the problem comes with processing time, the updated macro takes as much as 3 times the normal time to generate same report which not not effective, especially, when running bigger reports with 2000 pages. I am trying to findout the reason why the updated macro is taking longer time, I am thinking it's because of using ODS Tagsets. Did anyone faced similar problem before?
02-28-2013 09:47 PM
ODS PDF is not generated with a tagset template. So you must mean that you are using ODS TAGSETS.RTF instead of ODS RTF in your new version of the code?
At any rate, it is quite possible that ODS RTF and ODS TAGSETS.RTF might take differing amounts of time to produce the same report. This is really a question for Tech Support. If you have stumbled across something that highlights a performance issue, then the only folks who can fix it are Tech Support because they have the means to review your code, set up a test case and decide if this is a defect or not. If there is a defect, then can open a track with the developers. If there's not a defect, they can suggest a workaround if there is one.
In running a quick test, I do observe that ODS TAGSETS.RTF takes longer to produce the same results as ODS RTF, but I expect that because of the extra processing required to do vertical measurement of the output. In "regular" or "classic" ODS RTF, ODS does not have to worry about calculating vertical measurement (where the page breaks will happen) because the page breaks are handled by the word processor. But the major reason to use ODS TAGSETS.RTF is that you WANT vertical measurement -- you want SAS to control where page breaks will happen -- you do NOT want the word processor to control where page breaks will happen. This is one of the main reasons that TAGSETS.RTF was designed.
I expect that calculating the vertical measurement adds some extra processing time. So if you do not need vertical measurement or some of the other features of ODS TAGSETS.RTF, then switch back to "classic" ODS RTF. But if you do need vertical measurement and/or some of the other features of ODS TAGSETS.RTF, then working with Tech Support seems the best route to go.
Without seeing your code and your data, no one can run a benchmark. And posting data and code that produces 2000 pages of output is not likely to get many takers, especially when your code is wrapped in macro on top of it. Tech Support can look at all your code, and tell you whether you have hit a defect or whether the amount of processing time is to be expected.
03-01-2013 02:33 AM
Thank you Cynthia for your advise,
You are right I am using ODS TAGSETS.RTF instead of ODS RTF, will contact the Tech Support team.