Severe regression in wine startup latencies

Ben Peddell klightspeed at netspace.net.au
Mon Aug 29 22:05:25 CDT 2011


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/



More information about the wine-devel mailing list