【发布时间】:2009-10-09 05:53:44
【问题描述】:
我想通过将现有的 32 位计数器转换为 16 位计数器来节省内存。该计数器以原子方式递增/递减。如果我这样做:
- 对于 x86/x86_64 上的 atomic_inc(uint16_t x) 使用什么指令?
- 这在多处理器 x86/x86_64 机器中是否可靠?
- 在这些体系结构中执行此操作是否会导致性能损失?
- 如果 (3) 为“是”,那么预期的性能损失是多少?
感谢您的 cmets!
【问题讨论】:
-
除非你有很多计数器(而且在“兆字节”中很多),否则节省 2 个字节似乎需要付出很多努力。您在这里尝试解决的实际问题是什么?
-
是的,我有很多这些计数器,以兆字节为单位。每个这样的计数器代表在相应的内存块上的未决操作。当计数器归零时,我应该触发另一个操作。
标签: performance assembly x86 atomic x86-64