Skip to content

Commit 8bc0e75

Browse files
authored
Merge pull request #1 from plokhotnyuk/main
More efficient hash code for `Payload` with fewer collisions for regular JSON inputs
2 parents ecb66b1 + 8d939f8 commit 8bc0e75

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

core/src/jsonrpclib/Payload.scala

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,9 @@ final case class Payload(array: Array[Byte]) {
1212
case _ => false
1313
}
1414

15-
override def hashCode(): Int = {
16-
var hashCode = 0
17-
var i = 0
18-
while (i < array.length) {
19-
hashCode += array(i).hashCode()
20-
i += 1
21-
}
22-
hashCode
23-
}
15+
override lazy val hashCode: Int = java.util.Arrays.hashCode(array)
2416

25-
override def toString = Base64.getEncoder().encodeToString(array)
17+
override def toString = Base64.getEncoder.encodeToString(array)
2618
}
2719
object Payload {
2820

0 commit comments

Comments
 (0)