On 29/08/2011 2:37 AM, Alan W. Irwin wrote:
While I am doing those additional investigations, please consider the question of why there is a huge difference between built-in and executable latency for MSYS bash commands under wine. To start that investigation it would be good to compare the wine results for those two cases with the Windows results for those two cases. (I assume the two time results for built-in versus executable will be fairly similar in the Windows case, but that assumption needs to be checked.) I don't have access to Windows myself. Anybody up for doing that simple test and reporting the results back here? The automatic MinGW/MSYS installer at http://sourceforge.net/projects/mingw/files/Automated MinGW Installer/mingw-get-inst/ makes it easy to install the relevant MinGW/MSYS software on both wine and Windows.
Some things I have seen while investigating:
I created a program which had a startup that immediately called ExitProcess to attempt to eliminate most of the initialization of the process being forked.
On Windows 7 x64 SP1 on an AMD 5050e: * bash.exe takes about 22.2ms to execute a program. * make.exe takes about 8.8ms to execute a program. * cmd.exe takes about 5.9ms to execute a program.
Under wine 1.2.1 on linux 2.6.38 on an AMD 5050e: * bash.exe takes about 236ms to execute a program. * bash.exe takes about 182ms to execute ${MINGW}/bin/true. * make.exe takes about 77ms to execute a program. * make.exe takes about 25ms to execute ${MINGW}/bin/true. * wine-cmd takes about 9ms to execute a program.
Under wine-git on linux 2.6.38 on an AMD 5050e: * bash.exe takes about 190ms to execute a program. * bash.exe takes about 147ms to execute ${MINGW}/bin/true. * make.exe takes about 71ms to execute a program. * make.exe takes about 20ms to execute ${MINGW}/bin/true. * wine-cmd takes about 9ms to execute a program.
Even the native bash takes twice as long to fork as make - 1.1ms vs 0.5ms.
It looks to me like the fork emulation in MSYS is encountering a bottleneck, and not actual process creation. Times have actually improved between 1.2 and current.
-- Ben Peddell IT Support Bowen, Collinsville, Proserpine and Home Hill Catholic schools http://klightspeed.killerwolves.net/