Skip to content
  • Alan Coopersmith's avatar
    Use xcb for -queryExt instead of a round-trip per extension · 072fc46b
    Alan Coopersmith authored
    
    
    On a system with 30 extensions listed by xdpyinfo, truss -c
    reports this saves quite a few system calls by batching the
    QueryExtension requests instead of a round-trip for each one:
    
                          Xlib      xcb
    writev                  40       11
    poll                    80       22
    recv                   117       29
    total (*)              464      296
    
    (*) total includes all system calls, including many not shown since
    their count did not change significantly.   There was one additional
    set of open/mmap/close etc. for loading the added libX11-xcb library.
    
    Over a tcp connection, this reduced both the number of packets,
    and due to tcp packet header overhead, the overall amount of data:
    
                          Xlib      xcb
    TCP packets             93       35
    TCP bytes            11554     7726
    
    Signed-off-by: default avatarAlan Coopersmith <alan.coopersmith@oracle.com>
    Reviewed-by: default avatarJamey Sharp <jamey@minilop.net>
    072fc46b