hck 1.494 ± 0.026s
hck (no-mmap) 1.735 ± 0.004s
choose 4.597 ± 0.016s
multi character hck 2.127 ± 0.004s
hck (no-mmap) 2.467 ± 0.012s
choose 3.266 ± 0.011s
The single pass optimization trick[1] seems to be helping a lot in single character case. sqlite3VdbeMemRelease(pMem);
pMem->flags = MEM_Str|MEM_Term|(pMem->flags&(MEM_AffMask|MEM_Subtype));
Source: https://www.micahlerner.com/2021/07/07/breakfast-of-champion...