lz4-java icon indicating copy to clipboard operation
lz4-java copied to clipboard

support bytebuffer updates on streaming hashes

Open pyr opened this issue 3 years ago • 1 comments

In some cases ByteBuffers do not provide access to an underlying byte array without incurring copies, this is notably the case for off-heap direct bytebuffers.

This patch provides a way to call update on streaming XXHASH instances against a ByteBuffer, which avoids the extra copy needed into a byte array.

I'm putting this one up to gauge interest. If present, I can adapt the Java safe and unsafe variants to also support the method, I first wanted some feedback on the general idea.

I'm also a bit unclear on what to do should we reach a case where the buffer supports neither .isDirect nor .hasArray, in this case it feels as though the only way forward is to allocate a byte array to copy the ByteBuffer contents into

pyr avatar Feb 02 '22 09:02 pyr

Hi, a quick update on this one, it has been running fine for over a year in production. Is there any interest in seeing this get in or should I close the PR?

pyr avatar Oct 17 '23 14:10 pyr