Faster UTF-8 decoding routines
Submitted by Mikhail Zabaluev
The proposed patches speed up UTF-8 decoding by using a loop construct originally used in glibmm. In addition to optimizing existing functions like g_utf8_to_ucs4_fast(), two new inline functions are added: g_iterate() and g_iterate_back(), that combine the effects of g_utf8_get_char() and g_utf8_next_char()/g_utf8_prev_char(). To measure the effects, a performance test is added that measures the throughput of many UTF-8 decoding functions.