为何实现相同功能的函数,使用u16参数比u32参数更快?
为什么u16版本的素数筛比u32版本更快?
受《From Mathematics to Generic Programming》这本书启发,我最近在测试不同整数大小的素数筛实现——分别基于u16和u32写了两个版本。用cargo bench跑基准测试后,我发现u16版本总是比u32的略快一点,想问问这是什么原因?
我自己有个猜测:会不会是我的i5-7300U处理器能同时执行两次u16加法运算,但没法同时处理u32或者u64的加法?不过我完全不知道该怎么验证这个假设。
内容的提问来源于stack exchange,提问作者lwi
相关产品推荐
相关产品推荐

