From f38726d35dba53fde27fa9c7b67138408e53715d Mon Sep 17 00:00:00 2001 From: frankie1106 Date: Mon, 18 Apr 2022 22:05:37 +0800 Subject: [PATCH 1/2] Maybe using bit operations is more efficient than using remainder operations --- redisson/src/main/java/org/redisson/RedissonBloomFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/RedissonBloomFilter.java b/redisson/src/main/java/org/redisson/RedissonBloomFilter.java index 09eff5757..0c53b4bf1 100644 --- a/redisson/src/main/java/org/redisson/RedissonBloomFilter.java +++ b/redisson/src/main/java/org/redisson/RedissonBloomFilter.java @@ -139,7 +139,8 @@ public class RedissonBloomFilter extends RedissonExpirable implements RBloomF long hash = hash1; for (int i = 0; i < iterations; i++) { indexes[i] = (hash & Long.MAX_VALUE) % size; - if (i % 2 == 0) { + /*maybe use a shift operation*/ + if ((i & 1) == 0) { hash += hash2; } else { hash += hash1; From c069fecaf000ac746cf5f22f35370ff6fc5cdf1f Mon Sep 17 00:00:00 2001 From: frankie1106 Date: Mon, 18 Apr 2022 22:20:27 +0800 Subject: [PATCH 2/2] fixed- Maybe using bit operations is more efficient than using remainder operations --- redisson/src/main/java/org/redisson/RedissonBloomFilter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/RedissonBloomFilter.java b/redisson/src/main/java/org/redisson/RedissonBloomFilter.java index 09eff5757..0c53b4bf1 100644 --- a/redisson/src/main/java/org/redisson/RedissonBloomFilter.java +++ b/redisson/src/main/java/org/redisson/RedissonBloomFilter.java @@ -139,7 +139,8 @@ public class RedissonBloomFilter extends RedissonExpirable implements RBloomF long hash = hash1; for (int i = 0; i < iterations; i++) { indexes[i] = (hash & Long.MAX_VALUE) % size; - if (i % 2 == 0) { + /*maybe use a shift operation*/ + if ((i & 1) == 0) { hash += hash2; } else { hash += hash1;