3 ms·
clang does something smart with the switch, equivalent to this C code: unsigned char lookup2_encode(const unsigned char dibit) { return ' \r\n\t' >> (dib
by glandium 5y ago
clang does something smart with the switch, equivalent to this C code:
unsigned char lookup2_encode(const unsigned char dibit) {
return ' \r\n\t' >> (dibit * 8);
}
I'd expect that to be faster just from having the lookup table in the code itself, and not having to use a different cache line from the data segment (as well as avoiding pointer indirection).