lhotari commented on code in PR #21107:
URL: https://github.com/apache/pulsar/pull/21107#discussion_r1313198384
##########
pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/ConcurrentLongLongPairHashMap.java:
##########
@@ -322,15 +324,15 @@ private static final class Section extends StampedLock {
LongPair get(long key1, long key2, int keyHash) {
long stamp = tryOptimisticRead();
boolean acquiredLock = false;
- int bucket = signSafeMod(keyHash, capacity);
+ int bucketIndex = signSafeMod(keyHash, capacity) * ITEM_SIZE;
Review Comment:
The problem with the old code is that it is cryptic. In the original code,
`signSafeMod` function's name is misleading. In the cases where the item takes
2 or 4 elements, there's a bitwise shift to left to multiply by 2 (`<< 1`) or 4
(`<< 2`). I doubt that using bitwise operations to optimize the speed of
execution is worthwhile in Java code. It should be left to the compiler to do
such optimizations.
--
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]