[Wine] Speed/latency issues for development in a Wine environment

Alan W. Irwin irwin at beluga.phys.uvic.ca
Sat Jun 12 16:10:31 CDT 2010


On 2010-06-11 18:09-0700 Alan W. Irwin wrote:

The previous timing numbers were done with wine-1.1.42.  Following a
suggestion made off-list to me, I have built wine-1.2-rc3 today (with
CFLAG=-O3) and immediately noticed the start-up latency for simple commands
(e.g., cmake --version) was reduced from about 0.25 s to about 0.15 s. I
don't know how the previous Debian wine-1.1.42 packages were optimized so
that difference may just be due to an optimization difference or an actual
improvement in the Wine code from 1.1.42 to 1.2-rc3. However, to see how -O3
optimized wine-1.2-rc3 does with the full tests, I have redone my timing
tests for I. (cmake), II (make install), and III (make install latency) and
the following reductions have been observed.

> Wine I.
> wine at raven> time wine cmake -G "MinGW Makefiles" \
> "-DCMAKE_INSTALL_PREFIX=z:/home/wine/cmake/install1" \
> z:/home/software/cmake/cmake-2.8.1_patched/ >& cmake.out
>
> real    14m17.124s
==> 
real    8m18.041s

> Wine II.
>
> wine at raven> time wine mingw32-make install >& make_install.out
>
> real    20m13.421s
==>
real    12m4.198s

> Wine III.
> wine at raven> time wine mingw32-make install >& make_install.out1
>
> real    1m39.018s
==>
real    0m51.045s

For reference here are the corresponding Linux numbers which are still
much better than the corresponding Wine-1.2-rc3 results.

> Linux I.
>
> wine at raven> time cmake -G "Unix Makefiles" \
> "-DCMAKE_INSTALL_PREFIX=/home/wine/cmake/install_linux" \
> /home/software/cmake/cmake-2.8.1_patched/ >& cmake.out
>
> real    0m34.015s
> Linux II.
>
> wine at raven> time make install >& make_install.out
>
> real    2m12.805s
> Linux III.
>
> wine at raven> time make install >& make_install.out1
>
> real    0m0.869s

To summarize these findings, it appears that changes in startup latency for
simple commands strongly correlates with timing results for build steps I,
II, and III on Wine. This makes sense since we know that several thousand
commands are run for, e.g., build step II so startup latency of hundreds of
milliseconds per command must be a real build performance killer.

So what can be done to reduce the simple startup latency from the current
~150 ms on Wine down much closer to the Linux startup latency for the same
commands which is typically 1 ms?  Simple commands requiring 150 ms to start
must have an awful lot of extra start baggage.  Is all that baggage really
needed for command-line commands such as cmake, mingw32-make, gcc, etc.?

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); PLplot scientific plotting software
package (plplot.org); 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-users mailing list