dix: cache ResourceClientBits() value
The `LimitClient` is set once and for all at startup, whereas the function `ResourceClientBits()` which returns the client field offset within the XID based on the value of `LimitClient` can be called repeatedly. Small optimization, cache the result of `ilog2()`, that saves running the same loop over and over each time `ResourceClientBits()` is called. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
This commit is contained in:
parent
48b1af2718
commit
c731165402
|
@ -620,7 +620,12 @@ ilog2(int val)
|
|||
unsigned int
|
||||
ResourceClientBits(void)
|
||||
{
|
||||
return (ilog2(LimitClients));
|
||||
static unsigned int cached = 0;
|
||||
|
||||
if (cached == 0)
|
||||
cached = ilog2(LimitClients);
|
||||
|
||||
return cached;
|
||||
}
|
||||
|
||||
/*****************
|
||||
|
|
Loading…
Reference in New Issue
Block a user