Honestly most of these window managers are so "bare bones" that XCB vs Xlib barely matters. At most they send ~20 messages to and from the Xserver during even the most invasive recapture.
OpenArena benchmark results between dmw and bspwm
dwm 204.4 - 203.4 - 203.7 - 203.2 - 203.7 - 203.8
bspwm 205.0 - 204.2 - 205.0 - 203.7 - 204.2 - 204.4
I don't want to calculate the average values. In both Xonotic and OpenArena dwm is on average (slightly) slower than bspwm.
In OpenGL games the difference is (usually) minimal.
But in the browser, the difference can be more than 5% in some situations.
=> XCB wrong u s a g e ( s y n c h r o n o u s ) D u r at i o n : 0. 0 3 8 6 0 8 s
=> XCB bad u s a g e ( a s y n c h r o n o u s ) D u r at i o n : 0. 0 0 2 6 9 1 s R a t i o : 1 4 . 3 5 7
=> Xli b t r a d i t i o n a l u s a g e D u r at i o n : 0. 0 4 3 4 8 7 s R a t i o : 1 6 . 1 6
Just to be clear, dwm is already a very fast WM. dwm is often >4% faster than awesomeWM and i3 in my tests, because it's written entirely in C.