[Xcb] [PATCH:xwininfo] Convert from Xlib to xcb

Barton C Massey bart at cs.pdx.edu
Sun Jun 13 22:39:09 PDT 2010


Impressive!  Thanks much.

	Bart

In message <1276465641-26517-1-git-send-email-alan.coopersmith at oracle.com> you wrote:
> Testing was done with a simple GNOME 2.28 session with a number of
> applications open (gnome-terminal, VirtualBox, Firefox).
> 
> Primary test case was xwininfo -root -all, which listed 114 children of
> the root window.   Output was identical to Xlib version (after applying
> the fix to libxcb_icccm for always null-terminating wm_class properties).
> 
> Over a local connection on the same machine:
> 
> Xlib:	0.00u 0.01s 0:00.05 20.0%
> xcb:	0.00u 0.00s 0:00.02 0.0%
> 
> (i.e. barely measurable difference - I had more variation between
>  repeated runs of the command)
> 
> Introducing latency by running over ssh -X from California to Beijing
> and back:
> 
> Xlib:	0.03u 0.02s 8:19.12 0.0%
> xcb:	0.00u 0.00s 0:45.26 0.0%
> 
> Memory size when exit() is called:
> 
> Xlib:
>  Address  Kbytes     RSS    Anon  Locked Mode   Mapped File
> 08043000      20      20      20       - rw---    [ stack ]
> 08400000     144     144     144       - rw---    [ heap ]
> total Kb    8972    8640     316       -
> 
> xcb:
>  Address  Kbytes     RSS    Anon  Locked Mode   Mapped File
> 08045000      12      12      12       - rwx--    [ stack ]
> 0806C000     100     100     100       - rwx--    [ heap ]
> total Kb    7980    7692     288       -
> 
> Bytes sent & received (counted by proxying via xscope):
> 
> Xlib: Client --> Server: 21380 bytes   Client <-- Server:  54124 bytes
> xcb:  Client --> Server: 21114 bytes   Client <-- Server:  53160 bytes
> 
> (The Xlib code didn't save any replies, so re-requested a couple of things
>  when running with -all - I fixed that while porting to xcb, but the same
>  could be done with Xlib easily too.)
> 
> Not yet handled: WM_NAME properties that need to be converted from another
> character encoding.
> 
> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> 
> I mostly did this as a way to learn more xcb, but it seems to be useful
> for high-latency connections.   I would like to figure out how to handle
> the property encoding conversion that XmbTextPropertyToTextList did in Xlib,
> but haven't researched that yet (and with so many environments defaulting
> to UTF-8 now, it's probably less useful than when it was originally done).


More information about the Xcb mailing list