diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-09-20 08:20:04 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-09-20 08:21:49 -0400 |
commit | 497986cdc1fe9e7f719ca8982b2f7c7942f081c6 (patch) | |
tree | 072c9c9c0ea5306b351804ade969018f0369a5cd /gobject/gobject.c | |
parent | 23e37e05d2134270243852e519e9c715e37aa496 (diff) | |
download | glib-prop-set-speedups.tar.gz |
Small optimization for g_object_setvprop-set-speedups
No need to call memset in the loop, we can just
initialize all the values in one go.
GtkBuilder is now using g_object_setv, so this
may improve application start times a bit.
Diffstat (limited to 'gobject/gobject.c')
-rw-r--r-- | gobject/gobject.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gobject/gobject.c b/gobject/gobject.c index 3767058c4..879ed848b 100644 --- a/gobject/gobject.c +++ b/gobject/gobject.c @@ -2523,17 +2523,14 @@ g_object_getv (GObject *object, g_object_ref (object); + memset (values, 0, n_properties * sizeof (GValue)); + obj_type = G_OBJECT_TYPE (object); for (i = 0; i < n_properties; i++) { - pspec = g_param_spec_pool_lookup (pspec_pool, - names[i], - obj_type, - TRUE); + pspec = g_param_spec_pool_lookup (pspec_pool, names[i], obj_type, TRUE); if (!g_object_get_is_valid_property (object, pspec, names[i])) break; - - memset (&values[i], 0, sizeof (GValue)); g_value_init (&values[i], pspec->value_type); object_get_property (object, pspec, &values[i]); } |