gpt4 book ai didi

c++ - 用于计算循环缓冲区中剩余空间的简化算法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:55 25 4
gpt4 key购买 nike

我想知道是否有比这更简单(单一)的方法来计算循环缓冲区中的剩余空间?

int remaining = (end > start)
? end-start
: bufferSize - start + end;

最佳答案

如果您担心预测不佳的条件会减慢您的 CPU 流水线,您可以使用这个:

int remaining = (end - start) + (-((int) (end <= start)) & bufferSize);

但这可能是过早的优化(除非您确实将其确定为热点)。坚持使用您当前的技术,这更具可读性。

关于c++ - 用于计算循环缓冲区中剩余空间的简化算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/450558/

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