gpt4 book ai didi

java - 为什么 Hazelcast 在不运行时会拖慢性能?

转载 作者:行者123 更新时间:2023-12-02 01:27:50 30 4
gpt4 key购买 nike

Hazelcast 似乎没有完全关闭。至少我的性能分析是这么说的。如果我执行下面的代码(hazelcast 实例与同一网络中不同虚拟机上的另一个节点形成一个集群),它会比在不创建 hazelcast 实例的情况下执行代码持续慢 10-20%。真正让我想知道的是尽管事先关闭了 hazelcast 实例,但性能损失。

HazelcastInstance hi = Hazelcast.newHazelcastInstance()
hi.shutdown
... code goes here ...

最佳答案

不应该有这样的区别。

您是否从测量中排除 Hazelcast 实例的创建和处置(关闭)?

以下 JMH Microbenchmark 在这两种情况下都给了我类似的数字 - 当 Hazelcast 被创建+销毁时以及当它被完全省略时:

@State(Scope.Benchmark)
public static class ExecutionPlan {

@Setup(Level.Trial)
public void setUp() {
Hazelcast.newHazelcastInstance().shutdown();
}
}


@Benchmark
public static void test(ExecutionPlan plan, Blackhole bh) throws Exception {
long[] numbers = new long[2<<20];
for (int i=0; i<numbers.length; i++) {
numbers[i] = i;
}
for (int i=0; i<numbers.length; i++) {
byte[] bytes = Long.toString(numbers[i]).getBytes("UTF-8");
bh.consume(MessageDigest.getInstance("SHA-1").digest(bytes));
}
}

如果您仍然遇到性能下降的情况,请分享您重现问题的代码。

关于java - 为什么 Hazelcast 在不运行时会拖慢性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56607144/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com