[gtk+] bitmask: Optimize no-op resizes
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] bitmask: Optimize no-op resizes
- Date: Sat, 12 Sep 2015 17:05:48 +0000 (UTC)
commit c86f0b1b237bf8ccc47a5a5399a8acc55e0eb1fd
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Sep 10 18:48:29 2015 -0400
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.
gtk/gtkallocatedbitmask.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkallocatedbitmask.c b/gtk/gtkallocatedbitmask.c
index 567b86c..0950d43 100644
--- a/gtk/gtkallocatedbitmask.c
+++ b/gtk/gtkallocatedbitmask.c
@@ -52,6 +52,9 @@ gtk_allocated_bitmask_resize (GtkBitmask *mask,
{
gsize i;
+ if (size == mask->len)
+ return mask;
+
mask = g_realloc (mask, sizeof (GtkBitmask) + sizeof(VALUE_TYPE) * (size - 1));
for (i = mask->len; i < size; i++)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]