优化 Long.bitCount
2022-09-01 13:21:41
我有一个程序对Long.bitCount()进行大量调用,调用如此之多,以至于它在一个CPU内核上占用了33%的周期。有没有办法实现它比Sun JDK版本更快?
我试过:
- 这个算法(我认为这正是JDK实现它的方式)
- 28 和 2 22 之间各种大小的查找表(一次查看几个位并添加结果)
但是,我能做的莫过于一个带有手动展开循环(约 27% CPU)的 2 个16 项查找表。
如何针对Java进行优化?
注意:这个问题是关于特定于Java的优化,但这个类似的(与语言无关的)问题还有许多其他算法。