bitmask: Optimize no-op resizes
Statistics for the gtk3-demo listbox example show that the vast majority of calls to _gtk_allocated_bitmask_resize go from a size of 2 to 2. Don't needlessly call realloc() in this case.
This commit is contained in:
@ -52,6 +52,9 @@ gtk_allocated_bitmask_resize (GtkBitmask *mask,
|
|||||||
{
|
{
|
||||||
gsize i;
|
gsize i;
|
||||||
|
|
||||||
|
if (size == mask->len)
|
||||||
|
return mask;
|
||||||
|
|
||||||
mask = g_realloc (mask, sizeof (GtkBitmask) + sizeof(VALUE_TYPE) * (size - 1));
|
mask = g_realloc (mask, sizeof (GtkBitmask) + sizeof(VALUE_TYPE) * (size - 1));
|
||||||
|
|
||||||
for (i = mask->len; i < size; i++)
|
for (i = mask->len; i < size; i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user