Jmh基准测试

        <!--JMH-->
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>1.21</version>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-generator-annprocess</artifactId>
            <version>1.21</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

@BenchmarkMode(Mode.AverageTime) // 测试完成时间
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS) // 预热 3 轮,每次 1s
@Measurement(iterations =4, time = 3, timeUnit = TimeUnit.SECONDS) // 测试 4 轮,每次 3s
@Fork(3) // forks(3) 指的是做3轮测试,因为⼀次测试⽆法有效的代表结果,所以通过3轮测试较为全⾯的测试,⽽每⼀轮都是先预热,再正式计量
@State(Scope.Benchmark)
@Threads(10) // 开启 10 个并发线程
public class JmhHelloWorld {

    public static void main(String[] args) throws RunnerException {
        Options options=new OptionsBuilder().warmupIterations(2).measurementBatchSize(2).forks(1).build();
       new Runner(options).run();
    }


    @Benchmark
    public void testStringAdd(){
        String s="";
        for (int i = 0; i <100 ; i++) {
            s+=i;
        }
    }

    @Benchmark
    public void testStringBuildAdd(){
        StringBuilder s=new StringBuilder();
        for (int i = 0; i <100 ; i++) {
            s.append(i);
        }
        s.toString();
    }
}

代码异常


# Run progress: 0.00% complete, ETA 00:00:28
# Fork: 1 of 1
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
<forked VM failed with exit code 2>
<stdout last='20 lines'>
</stdout>
<stderr last='20 lines'>
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
</stderr>

main方法不能使用debug模式启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值