From 5bc0bc2fdeb8a7c7bb56fabbd8886b56bf34c85b Mon Sep 17 00:00:00 2001 From: Mikhail Zabaluev Date: Tue, 14 Oct 2014 01:25:56 +0300 Subject: [PATCH] Added g_utf8_validate() to UTF-8 performance testing https://bugzilla.gnome.org/show_bug.cgi?id=738504 --- glib/tests/utf8-performance.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/glib/tests/utf8-performance.c b/glib/tests/utf8-performance.c index 20e5e02..d314285 100644 --- a/glib/tests/utf8-performance.c +++ b/glib/tests/utf8-performance.c @@ -142,6 +142,24 @@ grind_utf8_to_ucs4_fast_sized (const char *str, gsize len) return 0; } +static int +grind_utf8_validate (const char *str, gsize len) +{ + int i; + for (i = 0; i < NUM_ITERATIONS; i++) + g_utf8_validate (str, -1, NULL); + return 0; +} + +static int +grind_utf8_validate_sized (const char *str, gsize len) +{ + int i; + for (i = 0; i < NUM_ITERATIONS; i++) + g_utf8_validate (str, len, NULL); + return 0; +} + static void perform_for (GrindFunc grind_func, const char *str, const char *label) { @@ -192,6 +210,8 @@ main (int argc, char **argv) g_test_add_data_func ("/utf8/perf/utf8_to_ucs4-sized", grind_utf8_to_ucs4_sized, perform); g_test_add_data_func ("/utf8/perf/utf8_to_ucs4_fast", grind_utf8_to_ucs4_fast, perform); g_test_add_data_func ("/utf8/perf/utf8_to_ucs4_fast-sized", grind_utf8_to_ucs4_fast_sized, perform); + g_test_add_data_func ("/utf8/perf/utf8_validate", grind_utf8_validate, perform); + g_test_add_data_func ("/utf8/perf/utf8_validate-sized", grind_utf8_validate_sized, perform); } return g_test_run (); -- 2.7.4