dynatrace-oss/hash4j

JDK8 support?

acruise opened this issue · 2 comments

Hey folks,

I need a JVM version of WyHash that operates in a compatible way with a particular version of upstream. I don't know offhand what version of upstream I need to match, I can get that with a bit of effort.

It turns out hash4j matches that specific implementation already, unlike any other Java implementation I can find, so it'd be nice to use it, but I need to target JDK8 at the moment.

Would there be interest in adding a JDK8-compatible operating mode to hash4j? I've spent a bit of time on this unfinished experimental approach to the problem, I could continue with this if there's interest.

Thanks!

note: there may be a license concern arising from my wip, don't merge it until that's dealt with

I think it may be possible to make this work without changing the build layout... Compile with JDK11, target JDK8 bytecode, and select the appropriate implementation of Bits early at runtime based on the environment. If we never try to load Jdk11Bits we might still be able to run on a JDK8 VM.

never mind, it turns out hash4j only matches the particular upstream build we use for the one value I tested (empty string); every other value doesn't match. 😅