当前位置:首页 > 工业控制 > 电子设计自动化
[导读]如果你要买一辆车而且你的首要目标是性能或者更具体的说是原始动力,那么在4缸发动机和8缸发动机之间选择的话,答案很显然,因为越大越好。通常而言,当我们看计算机配置列表或者产品宣传的时候,64位的性能也比32位

如果你要买一辆车而且你的首要目标是性能或者更具体的说是原始动力,那么在4缸发动机和8缸发动机之间选择的话,答案很显然,因为越大越好。通常而言,当我们看计算机配置列表或者产品宣传的时候,64位的性能也比32位有优势,同样四核比双核更棒。

然而许多在大同世界里很简单的道理包括越多/大越好,移到计算机领域里就不是那么回事了。当处理多重CPU时,你会觉得那些多核所多出来的处理单元很有用,但如果你的工作仅仅是单线程的,那你要做的却是让其他核一边歇着。

32位与64位的比较则更加细微。x86-64 架构不仅在x86架构的基础上增大了寄存器,而且还增加了寄存器的数量。从基本上说这会带来更好的性能(因为更多的寄存器可以让编译器创建更好的机器代码)。然而很不幸,至今把Java从32位移到64位带来的只是性能的下降。

谈到Java的性能,runtime的两个方面很关键:JIT和GC。JIT的作用使尽可能快地执行代码;GC的作用是(在管理存储的同时)从代码的执行中抽取尽可能少的时间。因而Java的性能是让JIT(在更多存储器的帮助下)产生更多理想代码,并减少GC用以管理存储的时间(指针越大这越困难)。

Java 9最初是设计为32位系统的而且这影响了我们在代码基(code base)做的一些早期决定。早几年前我曾花费不少时间试图在运行64位的PowerPC系统上运行我们的Smalltalk VM,得到的结论是:最直接的解决方式是让所有的数据结构(对象)变得两倍大来处理64位指针。随着Java 9的发展(大约2001),我们拿到手的最早的一个64位系统是一个Dec Alpha,所以我们采用了这种最直接的“变大”解决方法,允许一个通常的代码基既支持32位也支持64位。

64位CPU拥有更宽的数据总线,但是同样是这个64位CPU可以运行32位的代码,而且拥有同样宽的数据总线。回头看看我们64位的解决方案——将数据结构变得两倍大,效果却不如相同硬件上的32位,也就是说64位不及32位。这个问题不是Java 9也不是Java所独有的,因为所有的64位都需要数据扩展。只是说Java语言将这一问题凸显得更加明显,因为Java编程通常与创建、操控对象(也称数据结构)有关。

性能问题的解决方法是聪明地处理数据结构,这也正是我们在Java6 JDK中使用压缩列表特性(compressed references feature)所做的。我们可以玩小聪明而且不会被抓到,因为使用者(Java程序员)并不清楚Java对象更深处的表现。

折中的处理方法是通过在对象内存储更少的信息,限制可以被JVM使用的存储。这是一个相当不错的处理方法,因为计算机存储的规模远不及64位的极限地址范围。我们仅使用32位来存储指针,并充分利用8字节对象对齐(aligned objects)来得到一些空位(指针<< 3)。因此使用压缩列表(compressed references)——Xcompressedrefs,IBM Java6 JDK可寻址高达32Gb的堆。

并不只我们使用这种技巧,Oracle/BEA有-XXcompressedRefs,Sun有-XX:+UseCompressedOops。当然,不同厂商的方法在限制和支持等级上略有不同。也许你会有异议,但当用户运行到32位操作系统的堆栈极限时,他们就想要64位系统(同时还要不损失性能)。

欢迎转载,信息来源维库电子市场网(www.dzsc.com)



来源:ks990次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

电解电容作为电子电路中的重要元件,其性能的好坏直接影响到整个电路的正常运行。因此,正确地测量电解电容的好坏对于保证电路的稳定性和可靠性至关重要。本文将详细介绍电解电容的测量方法,帮助读者了解如何准确地判断电解电容的好坏。

关键字: 电解电容 电子电路 性能

投入式液位计是一种常用的液位测量仪表,具有结构简单、安装方便、测量准确等特点。它通过测量液柱产生的静压力来间接测量液位高度,广泛应用于各种液体储罐、管道、水池等的液位测量。本文将详细介绍投入式液位计的使用说明。

关键字: 投入式液位计 液位测量仪表 性能

随着科技的飞速发展,嵌入式系统已经广泛应用于各个领域,如家用电器、工业机器人、医疗设备、汽车等。嵌入式系统具有低功耗、低成本、高可靠性等优点,因此受到越来越多的关注。嵌入式系统的核心是处理器,处理器的性能直接影响到嵌入式...

关键字: 嵌入式 处理器 性能

摘要:采用.Mg-Y2g3作为烧结助剂,利用光固化成形技术、结合气压烧结方法制备了高致密化程度和高性能的si3N4陶瓷。研究了.Mg-Y2g3烧结助剂总掺量对光固化成形si3N4陶瓷的相对密度、物相组成、显微结构、热学和...

关键字: 光固化成形 显微结构 性能

整流变压器与一般电力变压器的结构、性能、内部接线有很大区别,其容量表示方法在铭牌上也多种多样,有的铭牌上有额定容量,有的还注明形式容量、平均容量,有的注明多挡不同含义。整流变压器是一种用于将交流电转换为直流电的装置,通常...

关键字: 整流变压器 容量 性能

目前市场上,CPU主要是intel和AMD两大阵营,其中intel市场份额最大,也是CPU界龙头老大,自从AMD推出锐龙处理器之后,各项性能指标开始标上Intel平台,并且走性价比路线,如今相比intel平台差距在不断缩...

关键字: CPU 处理器 性能

虽然现在很多人表示,手机芯片性能已过剩,买手机不用管芯片,只要觉得好用,价格合适就行,买就是了,所以根本就不用管什么参数等。但手机芯片依然是最重要的核心部件,手机芯片档次就注定了一台手机的基础能力,所以了解手机芯片,依然...

关键字: 手机 芯片 性能

采用针脚式接口对应到主板上就有相应的插槽类型。CPU接口类型不同,在插孔数、体积、形状都有变化,不能互相接插。

关键字: CPU 针脚 性能

12月2日消息,日前,安兔兔公布了11月安卓旗舰手机性能排行,得益于换代的优势,天玑9200新旗舰登顶榜首,力压一众骁龙8+手机,成为目前安卓天花板。

关键字: 安兔兔 手机 性能

Arm宣布Neoverse再度进阶,新增两个全新的平台—Arm Neoverse V1平台以及第二代的N系列平台Neoverse N2,N2与V1未来将分别代表最高单芯片性能和最高单线程性能。Arm Neoverse全新...

关键字: ARM Neoverse 性能
关闭
关闭