PDA

View Full Version : Performance issues when reading program output from Standard Output


maks
06-14-2012, 06:35 PM
Recently upgraded to VBP 8.0 and noticed significant build time increase.
Found out that when a step is configured to "Read program output from" Standard Output and there is a lot of output by the step then it takes much longer to run in v8 compared to v7. Also it is much slower to run the step in v7 then in console window outside of VBP.

For example to execute a batch file that echos 1000 lines takes:
14 seconds in VBP7
1 minute 19 seconds (!!!) in VBP8 (similar in both 32 and 64 bit versions)
1 second in console window or in VBP7 and VBP8 with "Read program output from" set to None.

Is there any configuration or workaround to improve the performance of reading of Standard Output?

kinook
06-14-2012, 07:48 PM
At the top of the project, add a Run Script step with code likeApplication.Options.RunProgramOutputWaitTimeou t = 500500 was the v7 default (changed to 5000 in v8.0). You can use a smaller value (say 50) for even faster response, but CPU usage will increase, so be careful about really small values. We will also change the default back to a smaller value. This generally only affects programs that rapidly generate large amounts of output.

Note: The default for this setting was changed to 200 in v8.1.

maks
06-18-2012, 08:10 AM
I made the suggested change (set RunProgramOutputWaitTimeout to 50) and it made a huge difference. Now our build process is about 30% faster then before we upgraded to v8.

Thanks a lot for great and fast response.