The GitHub Actions job "Pull Requests" on 
pekko.git/perf/optimize-hash-code-arrays has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
f4136f791137bf16d5af9546cd90c7a5b71ac8e6 / 虎鸣 <[email protected]>
perf: optimize JVM array hashing

Motivation:
HashCode.hash iterates JVM arrays through java.lang.reflect.Array, adding 
reflective per-element access and boxing in a shared utility.

Modification:
Dispatch all nine JVM array kinds to typed while loops. Add a directional test 
that uses the original reflective algorithm as the parity oracle across 
primitive, reference, empty, null-element, and nested arrays. Add a JMH 
benchmark for primitive and reference arrays.

Result:
Hash values remain compatible while JDK 17 JMH measurements improve by roughly 
39x to 135x for the measured 16- and 256-element arrays.

Tests:
- JDK 17 Scala 2.13 HashCodeSpec: 3 tests passed
- JDK 17 Scala 3.3.8 HashCodeSpec: 3 tests passed
- JDK 17 JMH: Int[16] 824.277 to 6.106 ns/op; Int[256] 12749.433 to 183.033 
ns/op; AnyRef[16] 635.492 to 13.945 ns/op; AnyRef[256] 9491.604 to 240.387 ns/op
- sbt +headerCheckAll and checkCodeStyle passed
- scalafmt --list --mode diff-ref=origin/main passed
- git diff --check passed
- qodercli formal stdout review found no must-fix findings

References:
Refs #3300

Report URL: https://github.com/apache/pekko/actions/runs/29094007302

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to