tisonkun opened a new pull request, #316: URL: https://github.com/apache/datasketches-rust/pull/316
XOR construction retained its graph buffers while allocating the final fingerprint payload. Release the graph after peeling succeeds, when assignment only needs the peel stack. For eight million distinct synthetic hashes with base seed 1, measured peak live heap allocation changes as follows: | Fingerprint width | Before | After | Reduction | | --- | ---: | ---: | ---: | | 8 bits | 263.3 MB | 253.4 MB | 3.7% | | 16 bits | 273.1 MB | 253.4 MB | 7.2% | | 32 bits | 292.8 MB | 253.4 MB | 13.4% | Measurements use allocation tracking on arm64 macOS and exclude the preexisting input and allocator overhead; they are not process RSS. A separate 16,384-key case exercises retry cleanup at all three widths. Add a required Java interoperability CI job pinned to Java commit `1034fb33b6e013334ff870f130b9c388cae5dfa9`. Java queries complete Rust-generated 8/16-bit images and re-encodes them byte-for-byte; Rust also queries Java-generated images. Cases cover empty, singleton, signed-integer, and larger sets. Independently constructed payloads are not required to match. The ordinary Rust suite remains JVM-independent, with the explicit cross-language command documented in CONTRIBUTING.md. Validation: `cargo x check`, `cargo x test`, `cargo x lint`, targeted MSRV 1.86 tests, and the Java interoperability test. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
