mirror of git://git.musl-libc.org/musl
optimize mbrtowc
this simple change, in my measurements, makes about a 7% performance improvement. at first glance this change would seem like a compiler-specific hack, since the modified code is not even used. however, I suspect the reason is that I'm eliminating a second path into the main body of the code, allowing the compiler more flexibility to optimize the normal (hot) path into the main body. so even if it weren't for the measurable (and quite notable) difference in performance, I think the change makes sense.
This commit is contained in:
parent
8f06ab0eb9
commit
a49e038bab
|
@ -22,9 +22,8 @@ size_t mbrtowc(wchar_t *restrict wc, const char *restrict src, size_t n, mbstate
|
|||
c = *(unsigned *)st;
|
||||
|
||||
if (!s) {
|
||||
s = (void *)"";
|
||||
wc = (void *)&wc;
|
||||
n = 1;
|
||||
if (c) goto ilseq;
|
||||
return 0;
|
||||
} else if (!wc) wc = (void *)&wc;
|
||||
|
||||
if (!n) return -2;
|
||||
|
|
Loading…
Reference in New Issue