mirror of
https://gitee.com/huoyo/ko-time.git
synced 2025-12-06 16:58:26 +08:00
optimize BloomFilter
This commit is contained in:
parent
fb97b8bb86
commit
44f690783a
@ -4,11 +4,10 @@ import cn.langpy.kotime.annotation.KoListener;
|
|||||||
import cn.langpy.kotime.handler.InvokedHandler;
|
import cn.langpy.kotime.handler.InvokedHandler;
|
||||||
import cn.langpy.kotime.model.ExceptionNode;
|
import cn.langpy.kotime.model.ExceptionNode;
|
||||||
import cn.langpy.kotime.model.MethodNode;
|
import cn.langpy.kotime.model.MethodNode;
|
||||||
import cn.langpy.kotime.util.BoomFilter;
|
import cn.langpy.kotime.util.BloomFilter;
|
||||||
import cn.langpy.kotime.util.Common;
|
import cn.langpy.kotime.util.Common;
|
||||||
import cn.langpy.kotime.util.Context;
|
import cn.langpy.kotime.util.Context;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.lang.reflect.Parameter;
|
import java.lang.reflect.Parameter;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -39,10 +38,10 @@ public final class KoInvokedHandler implements InvokedHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public MethodNode filter(MethodNode currentNode) {
|
public MethodNode filter(MethodNode currentNode) {
|
||||||
if (BoomFilter.exists(currentNode.getId())) {
|
if (BloomFilter.exists(currentNode.getId())) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
BoomFilter.add(currentNode.getId());
|
BloomFilter.add(currentNode.getId());
|
||||||
return currentNode;
|
return currentNode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,8 +7,8 @@ import java.util.List;
|
|||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class BoomFilter {
|
public class BloomFilter {
|
||||||
private static Logger log = Logger.getLogger(BoomFilter.class.toString());
|
private static Logger log = Logger.getLogger(BloomFilter.class.toString());
|
||||||
|
|
||||||
private final static int size = 1000000;
|
private final static int size = 1000000;
|
||||||
private volatile static BitSet bits = new BitSet(size);
|
private volatile static BitSet bits = new BitSet(size);
|
||||||
Loading…
x
Reference in New Issue
Block a user