diff options
-rw-r--r-- | benchmarks/widget.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/benchmarks/widget.c b/benchmarks/widget.c index d05331d12d..5bcb3487b7 100644 --- a/benchmarks/widget.c +++ b/benchmarks/widget.c @@ -210,9 +210,25 @@ measure_benchmark (Benchmark *b, benchmark_stop (b); } +static void +templates_benchmark (Benchmark *b, + gsize size, + gpointer user_data) +{ + guint i; + GtkWidget **widgets = g_malloc (sizeof (GtkWidget *) * size); + /* Just load some widget using composite templates a bunch of times. */ + benchmark_start (b); + for (i = 0; i < size; i ++) + { + widgets[i] = gtk_info_bar_new (); + } + benchmark_stop (b); + g_free (widgets); +} int main (int argc, char **argv) @@ -238,6 +254,7 @@ main (int argc, char **argv) benchmark_suite_add (&suite, "compute_bounds", 10000, compute_bounds_benchmark, NULL); benchmark_suite_add (&suite, "translate_coords", 1000, translate_coords_benchmark, NULL); benchmark_suite_add (&suite, "measure", 10000, measure_benchmark, NULL); + benchmark_suite_add (&suite, "templates", 10000, templates_benchmark, NULL); return benchmark_suite_run (&suite); } |