Speed/latency issues for development in a Wine environment

Jeff Zaroyko jeffzaroyko at gmail.com
Sat Jun 19 20:16:22 CDT 2010


On Sun, Jun 20, 2010 at 12:50 AM, Alan W. Irwin
<irwin at beluga.phys.uvic.ca> wrote:
> Thanks very much Jeff, for providing some independent timing numbers for
> startup latency which are an order of magnitude (!) smaller than mine.
> So what is different about our wine platforms to cause that huge
> difference?  More below.
>
> On 2010-06-19 12:55+1000 Jeff Zaroyko wrote:
>
>>
>> Windows:
>> $ time gcc --version
>> gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
>> Copyright (C) 2004 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>>
>> real    0m0.020s
>> user    0m0.000s
>> sys     0m0.015s
>>
>> Wine:
>> jeffz at genera:~$ WINEPREFIX=/home/jeffz/wine-cpbench time
>> ~/git/wine/wine "c:\mingw\bin\gcc" "--version"
>> gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
>> Copyright (C) 2004 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>>
>> 0.00user 0.01system 0:00.02elapsed 66%CPU (0avgtext+0avgdata
>> 0maxresident)k
>> 0inputs+0outputs (0major+1567minor)pagefaults 0swaps
>
> So to the level of your measurement precision you are consistently getting
> 20 ms elapsed time for both Windows and Wine for the gcc --version
> experiment on boxes very similar to mine.  For the same experiment (I went
> out of my way to use the same syntax you did) I am getting ~150 ms for one X
> server and ~300 ms for the other.  So that is an order of magnitude
> difference in our results.  When I can reduce my wine application startup
> latency to 20 ms, I will be a happy camper, but the question is how can
> I do that?
>
> One difference between us is I am using MinGW-4.5.0-1, but it is hard to
> believe that the time taken to process the --version option for that has
> changed so drastically from your gcc-3.4.5.  Also, I believe the startup
> latency on my platform is a general problem on my platform
> and nothing to do with gcc.  I
> get essentially identical startup latency results with "mingw32-make
> --version" and "gcc --version".  "cmake --version" tends to be about 10 per
> cent longer than the other two.  Presumeably you have convenient access to
> mingw32-make. Do you also get only ~20 ms startup latency for that?

Wine 1.2-rc3:
jeffz at genera:~$ WINEPREFIX=/home/jeffz/wine-cpbench time
~/git/wine/wine "c:\mingw\bin\mingw32-make.exe" "--version"
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-pc-mingw32
0.09user 0.02system 0:00.14elapsed 81%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+8432minor)pagefaults 0swaps

Windows:
$ time mingw32-make.exe --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-pc-mingw32

real    0m0.030s
user    0m0.015s
sys     0m0.000s

> How about file systems?  My experiments were done on ext3.  What filesystem
> were you using on the box where you did the wine timing experiment?

ext3 also

> The other thing that bothers me is I get the same identical result whether
> wineserver is active or not.  Can you confirm that for your wine timing
> experiment or is that an unusual result?
>
> Other data here that may be relevant to the comparison with you:
>
> My hardware is 64-bit.
>
> Linux raven 2.6.26-2-amd64 #1 SMP Wed May 12 18:03:14 UTC 2010 x86_64
> GNU/Linux

Likewise, but an older kernel:
Linux genera 2.6.22-15-generic #1 SMP Fri Jul 11 18:56:36 UTC 2008
x86_64 GNU/Linux
X.Org X Server 1.4.0.90
8GB of ram, 6GB of swap.

> I am running 32-bit wine (wine-1.2-rc3 compiled with the -O3 option for
> Debian Lenny) which uses the following libraries:
>
> irwin at raven> ldd /home/software/wine/install/bin/wine
>        linux-gate.so.1 =>  (0xf77a2000)
>        libwine.so.1 => /home/software/wine/install/bin/../lib/libwine.so.1
> (0xf765d000)
>        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7625000)
>        libc.so.6 => /lib32/libc.so.6 (0xf74d3000)
>        libdl.so.2 => /lib32/libdl.so.2 (0xf74ce000)
>        /lib/ld-linux.so.2 (0xf77a3000)

Ubuntu 8.04
I've compiled from git with the default -O2.

I'm running wine from the source directory as you may have noticed.
jeffz at genera:~$ ldd git/wine/loader/wine
	linux-gate.so.1 =>  (0xffffe000)
	libwine.so.1 => /home/jeffz/git/wine/loader/../libs/wine/libwine.so.1
(0xf7deb000)
	libpthread.so.0 => /lib32/libpthread.so.0 (0xf7dd2000)
	libc.so.6 => /lib32/libc.so.6 (0xf7c83000)
	libdl.so.2 => /lib32/libdl.so.2 (0xf7c7f000)
	/lib/ld-linux.so.2 (0xf7f2d000)


> Previously, I got ~50 per cent larger startup latency numbers with the
> Debian Lenny package for wine-1.1.42 provided by WineHQ which is why I
> switched to to building my own wine-1.2-rc3, but 150 ms with the latter just
> doesn't cut it compared to your 20 ms.

Are you still compiling with -O3 here?

> Let me know if there is any additional comparison data I can provide.  For
> me the important question is what is fundamentally different between our two
> software platforms or wine configurations that causes this order of
> magnitude difference in startup latency on similar hardware?
>
> 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-devel mailing list