草庐IT

IntVsLong

全部标签

java - 整数性能 - x32 与 x64 jvm 相差 30-50 倍?

最近我遇到了一件非常奇怪的事情——一种方法在性能分析器下非常慢,没有明显的原因。它包含很少的long操作,但被调用得相当频繁-它的总体使用量约为总程序时间的30-40%,而其他部分似乎“更重”。我通常在x32JVM上运行非内存消耗型程序,但假设我遇到了64位类型的问题,我尝试在x64JVM上运行相同的程序——“实时场景”中的整体性能提高了2-3倍.之后,我为特定方法的操作创建了JMH基准测试,并对x32和x64JVM上的差异感到震惊-高达50倍。我会“接受”大约慢2倍的x32JVM(更小的字长),但我不知道30-50倍可能来自哪里。你能解释一下这种巨大的差异吗?回复评论:我重写了测试代