小编por*_*hop的帖子

为什么整数的java除法比黑客的喜悦实现更快

我正在测试来自黑客高兴书籍的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)

java math latency intrinsics

7
推荐指数
1
解决办法
823
查看次数

标签 统计

intrinsics ×1

java ×1

latency ×1

math ×1