整数除法主要用于什么?

问题描述

https://ridiculousfish.com/blog/posts/benchmarking-libdivide-m1-avx512.html 的分析发现,新的 Apple cpu 花费了大量资源来大幅提高整数除法的速度。

这是一件令人惊讶的事情。以我的经验,整数除法并没有真正使用,除非除以编译时常数,可以用移位或乘法代替。

更令人惊讶的是 https://news.ycombinator.com/item?id=27133804 上有人说的地方

当我对性能关键代码进行微优化时,整数除法经常会成为热点。

现在我真的很好奇:人们在做什么,使整数除法成为瓶颈?我正在考虑可以在哪里使用它。我见过的案例:

  • 浮点模拟。但是现在,唯一没有硬件浮点的 cpu 是微型微控制器,无论如何也不会有硬件整数除法。

  • 哈希表的桶数是素数,以增加一点额外的随机性。但是人们早就知道这不是最好的做事方式。如果您不相信您的哈希函数提供足够的随机性,请获得更好的哈希函数

  • 使用固定点坐标的早期 3D,如 PlayStation 1。但是现在每个人都在做浮点 3D。

那么这些整数除法究竟是用来做什么的?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)