niedziela, czerwca 26, 2022

Java szybsza na M1 jako X86 niż jako ARM ;-)

I okazuje się, że przynajmniej w pewnych sprawach, np. w całkowaniu numerycznym ;-) Java na M1 jest szybsza gdy działa w trybie emulacji x86-64, niż gdy działa w trybie aarch64 (czyli "natywnym" ARMowym dla M1).

Odpaliłem na laptopie z M1 programik do całkowania numerycznego (w obszarze od -10 do 10, w prawie 21.5 mln kroków, w pętli która sprawia, że wykonuje się to 10 razy).

Na Macbooku 16 z M1 z 2021 roku.

No i dla Java 11 (od Azul) wyniki są takie:

x86-64: 5611 ms
aarch64: 7528 ms

Podobne wyniki są dla Java 18.

Ciekawiej się robi dla Oracle'owej Java 18 ;-)

x86-64: 5811 ms
aarch64: 31340 ms

Czyli w przypadku JVM od Oracle'a jest wersja dla ARMa o 5.4 raza wolniejsza ;-)

Nie umiem powiedzieć czy chodzi o różnice w implementacji HostSpota czy może o jakiś kod natywny.

Ale i tak intrygujące :-)





Podobne postybeta
W końcu dane z M1, które w Java'ie mówią, że to jest ARM :-)
Dla Java'y Apple Silicon M1 to jednak nadal x86 ;-)
Wszędobylska Java :-)
"os.arch", "os.name", "sun.arch.data.model" co to jest i co pokazuje na jakiej maszynie i OSie? ;-)
JNA, czyli w Java'ie też można :-)

Brak komentarzy:

Prześlij komentarz