Home
It&#x27;s been a little under a month since I submitted the initial bits of this: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=43730458">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=43730458</a><p>I was asked to upstream (which I tried to, it&#x27;s the linked issue), and about additional functions.<p>Since then, the issue hasn&#x27;t gained a lot of traction, but I implemented a few far more interesting algorithms, both by Wojciech Muła:<p>SIMDized check which bytes are in a set: <a href="http:&#x2F;&#x2F;0x80.pl&#x2F;notesen&#x2F;2018-10-18-simd-byte-lookup.html" rel="nofollow">http:&#x2F;&#x2F;0x80.pl&#x2F;notesen&#x2F;2018-10-18-simd-byte-lookup.html</a> (for strspn and strcspn).<p>SIMD-friendly algorithms for substring searching: <a href="http:&#x2F;&#x2F;0x80.pl&#x2F;notesen&#x2F;2016-11-28-simd-strfind.html" rel="nofollow">http:&#x2F;&#x2F;0x80.pl&#x2F;notesen&#x2F;2016-11-28-simd-strfind.html</a> (for strstr and memmem).<p>These basically &quot;complete&quot; the set of string.h methods.<p>I also made sure the header compiles with C++, added a bunch of tests, and made it easier to integrate in your stuff if even it doesn&#x27;t get upstreamed.<p>If you&#x27;re interested in diving into the code, this is a direct link: <a href="https:&#x2F;&#x2F;github.com&#x2F;ncruces&#x2F;go-sqlite3&#x2F;blob&#x2F;main&#x2F;sqlite3&#x2F;libc&#x2F;string.h">https:&#x2F;&#x2F;github.com&#x2F;ncruces&#x2F;go-sqlite3&#x2F;blob&#x2F;main&#x2F;sqlite3&#x2F;libc...</a>

no comments

no comments