Before this we're calling CallCallbacks three times for every request, which is a bit expensive. Check if the callback is non-null first to avoid the function call overhead. Improves x11perf -noop from 18.6M/sec to 23M/sec on a 2.4GHz Core 2 Duo.
Signed-off-by: Adam Jackson <[email protected]> --- Xext/xace.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/Xext/xace.c b/Xext/xace.c index c757cad..18c9773 100644 --- a/Xext/xace.c +++ b/Xext/xace.c @@ -36,6 +36,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. _X_EXPORT CallbackListPtr XaceHooks[XACE_NUM_HOOKS] = {0}; +#define CallCallbacks(x, y) \ + if ((*(x))) CallCallbacks(x, y); + /* Special-cased hook functions. Called by Xserver. */ int XaceHookDispatch(ClientPtr client, int major) -- 1.7.3.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
