[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