gpt4 book ai didi

c++ - 有没有比遍历每个字节更快的解析方法?

转载 作者:太空狗 更新时间:2023-10-29 23:37:59 24 4
gpt4 key购买 nike

有没有比遍历文本的每个字节更快的解析文本的方法?

我想知道字符串库是否使用任何特殊的 CPU (x86/x64) 字符串操作指令,以某种方式用于优化解析例程。

例如指令,例如在字符串中查找可以由硬件运行的 token ,而不是循环每个字节直到找到 token 。

*edited->注意:我问的更多是算法而不是 CPU 架构,所以我真正的问题是,在给定当前 cpu 架构的情况下,是否有任何特殊算法或特定技术可以优化字符串操作例程。

最佳答案

x86 有一些字符串指令,但它们在现代处理器中失宠了,因为它们变得比做同样事情的更原始指令慢。

处理器世界正越来越倾向于 RISC,即简单的指令集。

引自 Wikipedia (强调我的):

The first highly (or tightly) pipelined x86 implementations, the 486 designs from Intel, AMD, Cyrix, and IBM, supported every instruction that their predecessors did, but achieved maximum efficiency only on a fairly simple x86 subset that resembled only a little more than a typical RISC instruction set (i.e. without typical RISC load-store limitations).

在今天的 x86 处理器上仍然如此。

您可以略微更好地一次处理四个字节,假设文本中的每个“标记”都是四字节对齐的。显然,对于大多数文本而言,情况并非如此……所以最好坚持逐字节扫描。

关于c++ - 有没有比遍历每个字节更快的解析方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3056696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com