Closed gzm55 closed 4 years ago
@gzm55 do you want to become a maintainer of the library? You could consult @peter-lawrey for getting credentials to be able to push new releases to net.openhft
groupId.
@gzm55 do you want to become a maintainer of the library? You could consult @peter-lawrey for getting credentials to be able to push new releases to
net.openhft
groupId.
yeah, i'd like to, and will consult @peter-k-lawrey for the requirements and info.
@gzm55 I will grant you write access.
@leventov are you ok if I grant @gzm55 https://github.com/gzm55 write access ?
@RobAustin I'm ok but it's not enough, permissions should also be granted to net.openhft groupId in https://issues.sonatype.org/browse/OSSRH
we (chronicle) can deal with releases for now I think, let's grant write permissions to @gzm55 and see how it works.
we (chronicle) can deal with releases for now I think, let's grant write permissions to @gzm55 and see how it works.
@leventov @RobAustin @dpisklov i have joined, thanks very much.
@leventov update as previous discussion. java docs are not complete, so plz just review the api.
Looks good.
@leventov java docs are complete
@leventov update the class level document and method document before hashChar()
(there is a TODO mark there), if they're ok, i will finish the following javadoc.
@leventov update based on the previous review, and still left some javadoc below TODO
mark. I hope to finish the docs this weekend.
@leventov package/class/method level documents are all ready.
@leventov any suggestions? Or if busy, we can improve docs after merging into master.
@gzm55 please go ahead
Add an interface
LongTupleHashFunction
which extends the 64-bitLongHashFunction
. The new interface add two sets of APIs while keeping compatible to the original long API:long hash(..., long[] result);
long[] hashTuple(...);
Among three sets of the hash API, the real work will appear in the
long hash(..., long[] result)
style functions which should returnsresult[0]
as the direct result. The other sets can be deduced from this style ones.In the mean time, the implementation of
LongTupleHashFunction
must overridebits()
function providing the real bits of this function. The result ofbits()
should be larger than 64, but don't have to be divided by 64.I choose
long[]
for the result container since it is very simple and can be optimized by JIT. When developing along hash(..., long[] result)
, we just need to check if theresult
isnull
, which means omitting the full result, and don't have to checkresult.length()
.LongTupleHashFunction
provides anewLongTuple()
function to alloc a correct array based onbits()
.Since a result container can be easily reused within one thread, so the cost of allocation could trend to zero.
Murmur3F 128-bit has been migrated to `LongTupleHashFunction'.