With the proposed function-pointer-factory changes, I'm seeing this speedup on glibc systems:
num mbc Before 0.056 0.152 After 0.057 0.089 ------- Speedup 1.0 1.7 factor Find attached the profiling result. What you can see: - The glibc-compatible rewrite of UTF-8 mbrtowc is about 4.5 times faster than the glibc implementation. - The glibc wcwidth and the gnulib uc_width are approximately on par, regarding speed. uc_width is probably slightly slower, but not dramatically. Bruno
callgrind.out.11605.png
Description: application/kcachegrind