我读到这里 ,英特尔推出了SSE 4.2 instructions
加速字符串处理。
从文章引述如下:
上证所4.2指令集,Intel的酷睿i7首次实施,提供了利用SIMD运算处理字符数据字符串和文本处理指令(STTNI)。 虽然最初的设想加快字符串,文本和XML处理,这些指令的强大的新功能是这些领域之外有用的,这是值得重新审视的众多应用程序的搜索和识别阶段利用STTNI以提高性能
- 海湾合作委员会是否利用这些指令,如果他们有哪些?
- 如果是的话,哪个版本?
- 如果没有,在那里它们提供这种任何开源库?
在关于软件库,我想看看昂纳雾的ASMLib程序。 它有许多程序,包括一些字符串操作者使用其SSE4.2,组装优化的集合。 它提供了一些其他有用的功能,其余使用CPU在返回的信息,如高速缓存大小为每个级别和哪个扩展(例如SSE4.2)的支持。
http://www.agner.org/optimize/asmlib.zip
为了使SSE4.2在GCC与-msse4.2编译或如果你有AVX使用-mavx处理器
我不知道GCC是否使用,但作为文本处理是通过一般的glibc做了不应该的问题。 如果您使用标准的字符串函数从string.h中(可能为c_string将这样做),并有你应该使用自动他们一个合理的glibc。
我已经寻找它,它似乎的glibc 2.15(甚至可能是旧的有它)已经有SSE4.2 strcasecmp优化:
http://upstream.rosalinux.ru/changelogs/glibc/2.15/changelog.html
文章来源: Does gcc use Intel's SSE 4.2 instructions for text processing if available?