Running a refactor over MSExcel can be really slow
On behalf of Ian Smith.
If your workspace includes com wrappers then running a refactoring process over the workspace can be really time consuming.
Attached is the MSExcel16.zip and if you run a refactor on that with ALL options enabled (20 refactoring options) then it can take over half an hour to complete!
Statistics: =========== Right trimmed 0 lines Markers removed 0 Local keywords removed 0 Static fonts removed 0 Public keywords removed 0 Private keywords removed 0 If/Else lines changed 0 End Comments removed 0 Change 'U_class' style to 'RefClass' 0 Reindent Source Code 1 Making proper Upper/Lowercase Source Code 1 Dropping 'Self' 1 Removed 'Project Object Structure' lines 0 Replaced to use 'Move' command 0 Removed number of empty lines 0 Replaced 'GetAddress of' command 0 Replaced 'IN' with 'Contains' 0 Replaced 'If sTmp Ne '' Begin' 0 Removed number of unused Local variables 0 Number of files unused by source program(s) 0 Process completed. Elapsed Time: 00:48:49.213
That's on my test VM when running ONLY on the generated MSExcel16.pkg
Here's Ians report:
It took approx. 78 mins on my i7 with 16g of ram to process the 67872 line of the Excel wrapper. So I think some additional progress info is definitely needed.
An alternative option would be to ignore COM wrappers - check for " // DataFlex COM proxy classes generated from " as the start of the first line and if found skip the file.
Other observations - not saying your current logic is wrong
1. Case changing - the Dataflex studio does not title case the word "for" when used in Define statements
2. COM Wrappers enumerated values - the indenting logic is removing the default indenting
Note that if you select a single file to process that there's is ZERO progress info for the whole time.