java - 为什么 OpenJDK 在 Atmel AT91SAM9G25 SoC 板上运行速度如此之慢?

标签 java linux arm openjdk

你好,我在 ARM 设备上运行 java ( http://www.acmesystems.it/arietta )

而且速度非常慢,time java 的结果是:

openjdk version "1.8.0_66-internal"
OpenJDK Runtime Environment (build 1.8.0_66-internal-b17)
OpenJDK Zero VM (build 25.66-b17, interpreted mode)

real    0m51.499s
user    0m1.656s
sys     0m46.477s

规范:

CPU Atmel AT91SAM9G25 SoC (ARM9 @ 400Mhz)
DDR2 Ram 128 or 256 MByte

关于如何让它更快的任何想法?

最佳答案

为了让它更快,我使用了 JamVM。和 java 7,而不是 8。有了这个,它看起来像一个正常的执行时间:

为此我必须安装 icedtea-7-jre-jamvm 包:

apt-get install icedtea-7-jre-jamvm

time java -jamvm -version 的结果是:

java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-1~deb8u1)
JamVM (build 2.0.0, inline-threaded interpreter with stack-caching)

real    0m0.913s
user    0m0.742s
sys     0m0.156s

http://jamvm.sourceforge.net/

关于java - 为什么 OpenJDK 在 Atmel AT91SAM9G25 SoC 板上运行速度如此之慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35182699/

相关文章:

python - 无法找到异常的来源以及它是什么异常

c - 为什么 arm-none-eabi-gcc 不搜索我的自定义 _start 符号?

java - 如何将实体对象绑定(bind)到本地 @Transient 属性?

java - 从/src/main/resources/读取文件

linux - 如何在 linux 中手动安装共享库和包含文件?

assembly - 在汇编宏中创建循环 - IAR ARM

c++ - 从 Windows building .o 但不是 .a 交叉编译 Boost for GCC ARM (Linux)

JavaFX:是否有整数属性允许空值并提供 greaterThan 和 lessThan 等方法?

java - 循环遍历字节数组中的十六进制数字

c++ - 是否可以在重定向前读取 STDOUT?