Changes

Jump to: navigation, search
no edit summary
{{AppliesToAxelEsatta}}
{{AppliesToAxelLite}}
{{AppliesToAXEL Lite AN}}
{{AppliesToSMARX AN}}
{{AppliesToAXELULite}}
{{AppliesToAXEL ULite AN}}
{{AppliesToSBCLynx}}
{{AppliesTo SBC Lynx AN}}
{{InfoBoxBottom}}
!Version
!Date
!Development Kit version!Processor!Notes
|-
| 1.0.0
| Nov 2019
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]]| i.MX6 Cortex-A9| DualLite SOC|-| 1.0.0|Nov 2019|, [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#XUELK_2.0.1.2F2.0.2.2F2.0.3|XUELK 2.0.3]]| i.MX6UL Cortex-A7| Ultra Lite SOC
|-
|}
==Introduction==
Nowadays the Java programming language is more and more used for creating embedded application taking advantages from the popular and powerful programming language like [https://en.wikipedia.org/wiki/Java_(programming_language) Javaprogramming language]has been mainly used to develop business server side application.
As well known, from [https://en.wikipedia.org/wiki/Java_(programming_language) wikipedia] description: <pre>Java is a general-purpose programming language that is class-based, object-orientedOn the latest years it can be used on embedded devices too, thanks both to the constantly increasing processing power of embedded microprocessors and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere: Java code can run on all platforms that support Java without the need for recompilation.optimization of Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture.</pre>Virtual Machines
=== Java Virtual Machine ===
The different JVMs performance results let the user to target which JVM can be the best selection for running its Java code.
==== ZeroVM====
The [https://openjdk.java.net/projects/zero/ ZeroVM] JDK version has to be taken into account if used on some JVM: this version - used for example on ''OpenJDK 8'' and ''AdoptOpenJDK 8'' - gives output results '''really less performing''' then the others VMs.
it's not performant because it has no architecture specific assembly code.
== Available Java Virtual Machines ==The Java Virtual Machines - There's tons of JVM available in the market, both commercials and free/opensource ones: the JVM listed below - have been selected from the main Java players in the market. Obviously the <b>Oracle JDK</b> is the reference one due to the original Java project started by [https://en.wikipedia.org/wiki/Java_(programming_language) Sun Microsystems] and aquired by [https://en.wikipedia.org/wiki/Sun_acquisition_by_Oracle Oracle] on 2010.
As per Obviously the <b>Oracle JDK</b> is the reference one due to the original Java project started by [https://en.wikipedia.org/wiki/Java_(programming_language) Sun Microsystems] and acquired by [https://en.wikipedia.org/wiki/Sun_acquisition_by_Oracle Oracle] on 2010. Historically Sun/Oracle provides different flavors of their JVM, depending on the target host (desktop vs server vs embedded. [https://www.oracle.com/java/technologies/javase-embedded-downloads.html Oracle Java SE Embedded] announcewas the flavor targetting embbedded market, but Oracle announced that '''Java 8''' is ''the final major Oracle Java SE Embedded Product''. Newest JVM based on Java 9,10,11,12 and 13 can be found from the OpenJDK JVM players.
[https://blogs.oracle.com/java-platform-group/convergence-of-oracle-java-se-embedded-with-oracle-jdk Here] the blog announce:
</pre>
For the ''The Oracle Java License'', please find more information on Oracle [https://java.com/en/download/release_notice.jsp Java web site] .
=== Virtual Machine version ===Newest JVM based on Java 9, 10, 11, 12 and 13 can be found from the OpenJDK JVM players.
=== Selection of embedded Virtual Machine === Here below the list of JVMs compared in the tests and the binary download sites:
{| class="wikitable" border="1"
|
|-
| OpenJDK(*)
| 1.8.0_102
| OpenJDK Zero VM (build 25.102-b14, interpreted mode)
|-
|}
(*) We do not provide a download URL for OpenJDK 1.8.x because it has been build with standard recipe provided with DAVE Development Kits
=== Licensing ===
* Oracle: the [https://www.oracle.com/downloads/licenses/javase-license1.html Java license] agreement should be accomplished in order to use and evaluate it
* OpenJDK, AdoptOpenJDK: the [https://adoptopenjdk.net/about.html GPLv2] license is used for the OpenJDK code* Zulu: the see [https://www.azul.com/products/zulu-community/ Zulu Community] is (''free download and uses without restrictions'', cit'')''* BellSoft: the [https://bell-sw.com/pages/java-11.0.5%20for%20Embedded/ Liberica JDK for Embedded] is (''provided with no license restrictions'', cit.'')''
== Benchmarks ==
We have to comply to the proper license agreements in order to run the benchmarks:
* <b><i>SciMark</i></b>: please read the [https://math.nist.gov/scimark2/credits.html credits] page about <b>National Institute of Standards and Technology (NIST)</b> GPL license
* <b><i>CaffeineMark</i></b>: please read carefully the [http://www.benchmarkhq.ru/cm30/disclaim.html#license license agreement] for running according to the <b>Pendragon Software's CaffeineMark'''™''' ver. 3.0</b>** the test was performed without independent verification by Pendragon Software and that Pendragon Software makes no representations or warranties as to the result of the test
== Benchmarking = Test results ===
The benchmarks have been run on the same platform and same cpu: the different JVMs was decompressed in the ''/home/root/java'' directory of the target and started manually.
 
==== XELK ====
The following tests have been performed on [[:Category:SBC-AXEL | SBC-AXEL]] equipped with:
* '''DXLM0193''' SOM
* i.MX6 Dual Lite processor @ 792MHz
* 1GB DDR
* boot from SD card (u-boot, kernel and root file system)
 
{| class="wikitable" border="1"
! Java Virtual Machine
! SciMark 2.0 (Composite Score)
! CaffeineMark 3.0 (Overall score)
|-
| Oracle JDK 8
| 69.37
| 22673
|-
| OpenJDK 8 (*)
| ''3.62''
| ''605''
|-
| AdoptOpenJDK 8 (*)
| ''3.44''
| ''569''
|-
| ZuluCommunity 8
| 69.14
| 17237
|-
| AdoptOpenJDK 11
| '''82.39'''
| '''78111'''
|-
| LibericaJDK 11
| '''82.55'''
| '''77083'''
|-
| ZuluCommunity 11
| 69.61
| 17060
|-
|}
 
(*) The ''interpreted'' [[XELK-AN-009:_Comparing_JVMs_(Java_Virtual_Machines)_on_i.MX6_family_processors#ZeroVM | ZeroVM]] JVM version explains the very poor performance
 
==== XUELK ====
The following tests have been performed on [[:Category:SBC_Lynx | SBC-Lynx]] equipped with:
* i.MX6 Ultra Lite processor @ 528MHz
* 512MB DDR
* boot from SD card (u-boot, kernel and root file system)
 
{| class="wikitable" border="1"
! Java Virtual Machine
! SciMark 2.0 (Composite Score)
! CaffeineMark 3.0 (Overall score)
|-
| Oracle JDK 8
| 28.75
| 9426
|-
| OpenJDK 8 (*)
| ''1.68''
| ''257''
|-
| AdoptOpenJDK 8 (*)
| ''1.55''
| ''243''
|-
| ZuluCommunity 8
| 29.26
| 9482
|-
| AdoptOpenJDK 11
| '''54.23'''
| '''30268'''
|-
| LibericaJDK 11
| '''54.46'''
| '''27261'''
|-
| ZuluCommunity 11
| 29.16
| 9200
|-
|}
 
(*) The ''interpreted'' [[XELK-AN-009:_Comparing_JVMs_(Java_Virtual_Machines)_on_i.MX6_family_processors#ZeroVM | ZeroVM]] JVM version explains the very poor performance
 
For a detailed test command usage, please click on the ''Expand'' link:
 
<div class="mw-collapsible mw-collapsed">
<pre class="board-terminal">
</pre>
</div> ==Copyright and Trademark Information = List = Java™ and HotJava™ are trademarks of test results ===Sun Microsystems, Inc. and refer to Sun's Java programming language and HotJava browser technologies.
==== XELK ====The following tests have been performed on [[:Category:SBC-AXEL | SBC-AXEL]] equipped with:* '''DXLM0193''' SOM * iJava™ and OpenJDK™ are trademarks or registered trademarks of Oracle and/or its affiliates.MX6 Dual Lite processor* 1GB DDR* boot from SD card (u-bootZulu Community™ is a trademark and Copyright © of Azul Systems, kernel and root file system)Inc.
{| class="wikitable" border="1"! Java Virtual Machine! SciMark (Composite Score)! CaffeineMark (Overall score)! Notes|-| Oracle JDK 8| 69.37| 22673||-| OpenJDK 8| 3.62| 605| The ''interpreted'' JVM version explains the very poor performance|-| AdoptOpenJDK 8| 3.44| 569| The ''interpreted'' JVM version explains the very poor performance|-| ZuluCommunity 8| 69.14| 17237||-| AdoptOpenJDK 11| '''82.39'''| '''78111'''| |-| LibericaJDK 11| '''82.55'''| '''77083'''| |-| ZuluCommunity 11| 69.61| 17060||-|}Liberica is a Copyright of © BellSoft LTD
==== XUELK ====The following tests have been performed on [[:Category:SBC_Lynx | SBC-Lynx]] equipped with:* i.MX6 Ultra Lite processor* 512MB DDR* boot from SD card (u-boot, kernel CaffeineMark™ benchmark is a trademark and root file system)Copyright © of Pendragon Software
{| class="wikitable" border="1"! AdoptOpenJDK is a community of Java Virtual Machine! SciMark User Group (Composite ScoreJUG)! CaffeineMark (Overall score)! Notes|-| Oracle JDK 8| 28.75| 9426||-| OpenJDK 8| 1.68| 257| The ''interpreted'' JVM version explains the very poor performance|-| AdoptOpenJDK 8| 1.55| 243| The ''interpreted'' JVM version explains the very poor performance|-| ZuluCommunity 8| 29.26| 9482||-| AdoptOpenJDK 11| '''54.23'''| '''30268'''| |-| LibericaJDK 11| '''54.46'''| '''27261'''| |-| ZuluCommunity 11| 29members, Java developers and vendors including Azul, Amazon, GoDaddy, IBM, jClarity, Microsoft, New Relic, Pivotal and Red Hat.16| 9200||-|}
dave_user, Administrators
5,138
edits

Navigation menu