Severe startup latencies for Windows applications run under wine

Alan W. Irwin irwin at beluga.phys.uvic.ca
Mon Aug 29 23:31:37 CDT 2011


Hi Ben:

Thanks for your further tests.

On 2011-08-30 08:20+1000 Ben Peddell wrote (but then later forwarded
to list so I am repeating my off-list reply to the list as well):

> 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 fork.
> make.exe takes about 8.8ms to fork.
> cmd.exe takes about 5.9ms to fork.
> 
> Under wine 1.2.1 on linux 2.6.38 on an AMD 5050e:
> bash.exe takes about 236ms to fork nothing, and 182ms to fork /bin/true.
> make.exe takes about 77ms to fork nothing, and 25ms to fork /bin/true.
> wine-cmd takes about 9ms to fork nothing.
> 
> Under wine-git on linux 2.6.38 on an AMD 5050e:
> bash.exe takes about 190ms to fork nothing, and 147ms to fork /bin/true
> make.exe takes about 71ms to fork nothing and 20ms to fork /bin/true.
> wine-cmd takes about 9ms to fork nothing.

Just out of curiosity do you have any explanation of why /bin/true provided
faster make.exe results than your quick-exiting programme both for
wine-1.2.1 and wine-git?

> 
> 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.

I assume you meant "encountering a _wine_ bottleneck" since clearly
above your MSYS tests of make.exe and bash.exe on Windows don't have
the large startup latencies you encounter with wine-1.2 and wine-git.

How does the MSYS version of make (make.exe that you tried above)
compare in this regard with the MinGW version of make
(MinGW/bin/mingw32-make.exe) that specifically excludes everything to
do with MSYS?  My guess is you will encounter a similar wine
bottleneck for this case as well, but it is worth verifying that.

And now you have done a clean comparison with the same software stack
it is clear that wine-git somewhat reduces the bottleneck compared to
wine-1.2.  Thus, I expect my own planned clean comparisons to show the
same.  So I have changed the subject line appropriately.

Now, if someone could just figure out what the wine bottleneck is that
is causing these severe start-up latencies for Windows applications....

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________



More information about the wine-devel mailing list