Skip to content

Java 64 bit native long vs BigInteger performance - expected 9x slowdown but seeing 50x slowdown specific to IA64 over ARM64 #24

Open
@obriensystems

Description

@obriensystems

Triage

  • efficiency cores - not the issue as I turned off hyper threading and e cores on another 14900K from 32 vCores to 8 (turned off 16 ecores) - performance was worse

Data

64 bit long (only went up to 32 bit start and 63 bit max)
native long 64 bit = 42 sec for 13900K 128g
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 632 dur: 13

native long 64 bit = 50 sec for M4 Max 48g
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 866 dur: 17

native long 64 bit = 80 sec for M4 Pro 8p4e 24g
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 1291 dur: 25

BigInteger:
BigInteger 64 bit = 460 sec for M4 Max 48g (9x slower)
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 7312 dur: 143

BigInteger 64 bit = 80 sec for M4 Pro 8p4e 24g (9x slower)
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 11710 dur: 236

BigInteger 64 bit = sec for 13900K 128g 8p16e (56x slower)
m0: 1410123943 p: 770 m: 7125885122794452160 ms: 35617 dur: 705

Test results between runs of
long
#19
https://github.com/ObrienlabsDev/performance/blob/main/cpu/virtual/multithreaded/128bit/java-benchmark-128-cli/performance-nbi/src/main/java/dev/obrienlabs/performance/nbi/Collatz.java
BigInteger
#10
https://github.com/ObrienlabsDev/performance/blob/main/cpu/virtual/multithreaded/128bit/java-benchmark-128-cli/performance-nbi/src/main/java/dev/obrienlabs/performance/nbi/CollatzBigInteger.java

CPU and RAM profiles are the same at 100% and 6g heap

Intel
Screenshot 2025-01-02 at 11 56 23

Screenshot 2025-01-02 at 11 37 24

Apple
Screenshot 2025-01-02 at 12 02 11

Screenshot 2025-01-02 at 12 02 48

Will check PCore vs Ecore distribution
Chips are
M4 Max 16 thread (12p/4e) - 75:25
13900K 32 thread (8p/16e - 16p(ht)/16e) - 50/50

  • the intel chip has a 50:50 distribution as opposed to the M4 Max which has a 75:25 distribution
    M1 Max (8p/2e) - 80:20
    M4 Pro (8p/4e) - 66:33
    M2 Pro (6p/2e) - 75:25
    14900K (ht off) (8p/16e) - 33:66

check thermal throttling

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions