summaryrefslogtreecommitdiff
path: root/libgnome-desktop/test-pnp-ids.c
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2012-06-20 17:40:28 +0100
committerBastien Nocera <hadess@hadess.net>2012-06-20 17:40:28 +0100
commit6893c9a51200ce630af97fbda58eda678bae920b (patch)
treed33acce8a673103fa246b9bea70f88c42bf3a457 /libgnome-desktop/test-pnp-ids.c
parent8503ae8e1b860c60ea744fdc7064d090fc6690e6 (diff)
downloadgnome-desktop-6893c9a51200ce630af97fbda58eda678bae920b.tar.gz
pnp-ids: Add loop for speed testing the ID fetching
See https://bugzilla.gnome.org/show_bug.cgi?id=590059
Diffstat (limited to 'libgnome-desktop/test-pnp-ids.c')
-rw-r--r--libgnome-desktop/test-pnp-ids.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/libgnome-desktop/test-pnp-ids.c b/libgnome-desktop/test-pnp-ids.c
index f357289d..2f6ef4e8 100644
--- a/libgnome-desktop/test-pnp-ids.c
+++ b/libgnome-desktop/test-pnp-ids.c
@@ -22,6 +22,8 @@
#include <libgnome-desktop/gnome-pnp-ids.h>
+#define NUM_ITERS 500 * 1000
+
static void
show_vendor (GnomePnpIds *ids, const char *id)
{
@@ -40,6 +42,30 @@ main (int argc, char *argv[])
g_type_init ();
ids = gnome_pnp_ids_new ();
+
+ if (argc == 2 &&
+ g_str_equal (argv[1], "--timed")) {
+ GTimer *timer;
+ gdouble elapsed;
+
+ timer = g_timer_new ();
+
+ for (i = 0; i < NUM_ITERS; i++) {
+ char *vendor;
+ vendor = gnome_pnp_ids_get_pnp_id (ids, "ZZZ");
+ g_free (vendor);
+ }
+
+ elapsed = g_timer_elapsed (timer, NULL);
+ g_timer_destroy (timer);
+
+ g_message ("%d iterations took %lf seconds", NUM_ITERS, elapsed);
+ g_object_unref (ids);
+
+ return 0;
+ }
+
+
for (i = 1; i < argc; i++)
show_vendor (ids, argv[i]);
if (argc < 2) {