哪个复杂度mb_strlen?

Which complexity mb_strlen?

strlen复杂度为O(1),因为字符串结构保存了字符串长度,但是mb_strlen呢?请解释一下,为什么?

查看 source code 在最坏的情况下它是 O(N)。

mbtab = encoding->mblen_table;
n = 0;
p = string->val;
k = string->len;
/* count */
if (p != NULL) {
    while (n < k) {
        m = mbtab[*p];
        n += m;
        p += m;
        len++;
    };
}