我正在测试来自黑客高兴书籍的divs10函数吞吐量,在我的jdk 1.7 64位版本21和i7 intel盒式处理器上用java编码:7 vendor_id:GenuineIntel cpu系列:6型号:26型号名称:Intel(R)Core(TM)i7 CPU 920 @ 2.67GHz
我想知道为什么默认的java运算符/比黑客的喜悦书中的divs10函数更快,结果显示divs10比"/"运算符慢3倍,令我惊讶.
任何人都可以告诉我,是否有任何花哨的内在jvm可以使用?
源代码如下.
public class div10 {
public static final int divs10(int n) {
int q, r;
n = n + (n >> 31 & 9);
q = (n >> 1) + (n >> 2);
q += q >> 4;
q += q >> 8;
q += q >> 16;
q = q >> 3;
r = n - ((q << 3) + (q << 1));
return q + ((r …Run Code Online (Sandbox Code Playgroud)