Hi all,

Java's t-digest could produce different serialized sketches from identical
input, because its centroid sort wasn't actually stable (random pivot).
PR https://github.com/apache/datasketches-java/pull/779 fixes this by sorting
centroids by mean ascending, then weight ascending, and by using
StrictMath.log. The result should be byte-identical sketches on any Java 17+
JVM. The change is backward compatible, and the serialization format is
unchanged.

The other languages don't need to do anything. Any that want their sort to
also ignore input order should adopt exactly the same rule. Byte-identical
results across languages are still not achievable for t-digest; the issue
below explains why.

Full write-up: https://github.com/apache/datasketches-java/issues/780

Comments welcome, here or on the issue. Unless anyone objects, I plan to
merge the Java PR once the two small requested changes are in.

Lee

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

Reply via email to