当前位置: 首页 > news >正文

网站建设开源代码网站建设模板

网站建设开源代码,网站建设模板,建筑设计网站制作,二维码图片Java 基准测试maven依赖简单使用执行多个函数BenchmarkMode(Mode.AverageTime) 运行模式OutputTimeUnit(TimeUnit.NANOSECONDS) 报告结果时间单位Warmup(iterations 5,time 1,timeUnit TimeUnit.SECONDS) 预热参数Measurement(iterations 5,time 1,timeUnit TimeUnit.SEC…

Java 基准测试

  • maven依赖
  • 简单使用
  • 执行多个函数
    • @BenchmarkMode(Mode.AverageTime) 运行模式
    • @OutputTimeUnit(TimeUnit.NANOSECONDS) 报告结果时间单位
    • @Warmup(iterations = 5,time = 1,timeUnit = TimeUnit.SECONDS) 预热参数
    • @Measurement(iterations = 5,time = 1,timeUnit = TimeUnit.SECONDS,batchSize = 1) 与预热参数类似
    • @Fork(5) 整体测试次数
    • @State(Scope.Benchmark) 配置对象作用域
    • @OperationsPerInvocation(COUNT) 允许与基准进行多个操作的通信

maven依赖

<dependency><groupId>org.openjdk.jmh</groupId><artifactId>jmh-core</artifactId><version>1.36</version></dependency><dependency><groupId>org.openjdk.jmh</groupId><artifactId>jmh-generator-annprocess</artifactId><version>1.36</version></dependency>

简单使用

package com.chauncy.benchmark;import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;@State(Scope.Thread)
public class BenchmarkTest1 {double pi = Math.PI;@Benchmarkpublic void measure(){pi++;}public static void main(String[] args) throws RunnerException {Options opt = new OptionsBuilder().include(BenchmarkTest1.class.getSimpleName()).forks(1).build();new Runner(opt).run();}
}

执行多个函数

package com.chauncy.benchmark;import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;import java.security.SecureRandom;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;@State(Scope.Benchmark)
@BenchmarkMode(Mode.All)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS, batchSize = 1)
@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS, batchSize = 1)
@Fork(5)
public class BenchmarkTest2 {private static final int COUNT = 1 ^ 21;private byte[] sorted;private byte[] unsorted;@Setuppublic void setup() {sorted = new byte[COUNT];unsorted = new byte[COUNT];SecureRandom random = new SecureRandom();random.nextBytes(sorted);random.nextBytes(unsorted);Arrays.sort(sorted);}@Benchmark@OperationsPerInvocation(COUNT)public void sorted(Blackhole bh1, Blackhole bh2) {for (byte b : sorted) {if (b > 0) {bh1.consume(b);} else {bh2.consume(b);}}}@Benchmark@OperationsPerInvocation(COUNT)public void unsorted(Blackhole bh1, Blackhole bh2) {for (byte b : unsorted) {if (b > 0) {bh1.consume(b);} else {bh2.consume(b);}}}public static void main(String[] args) throws RunnerException {Options opt = new OptionsBuilder().include(".*" + BenchmarkTest2.class.getSimpleName() + ".*").forks(1).build();new Runner(opt).run();}
}

@BenchmarkMode(Mode.AverageTime) 运行模式

@BenchmarkMode(Mode.Throughput) 吞吐量模式 获取单位时间内的操作数量
@BenchmarkMode(Mode.AverageTime) 平均时间模式 获取每次操作的平均时间
@BenchmarkMode(Mode.SampleTime) 函数运行时间采样模式
@BenchmarkMode(Mode.SingleShotTime)  单次操作时间
@BenchmarkMode(Mode.All) 采用所有的模式

@OutputTimeUnit(TimeUnit.NANOSECONDS) 报告结果时间单位

@Warmup(iterations = 5,time = 1,timeUnit = TimeUnit.SECONDS) 预热参数

iterations 预热的迭代次数
time预热时间
timeUnit 预热时间单位
batchSize 每个基准方法调用次数

@Measurement(iterations = 5,time = 1,timeUnit = TimeUnit.SECONDS,batchSize = 1) 与预热参数类似

@Fork(5) 整体测试次数

@State(Scope.Benchmark) 配置对象作用域

Scope.Benchmark 基准状态范围
Scope.Group 组状态范围
Scope.Thread 线程状态范围

@OperationsPerInvocation(COUNT) 允许与基准进行多个操作的通信

http://www.ds6.com.cn/news/63998.html

相关文章:

  • 给你网站你会怎么做的网店seo名词解释
  • 做视频网站要什么格式搜索引擎调词平台哪个好
  • wordpress空俩格seo排名赚app
  • 网站双倍浮动seo网站优化知识
  • 个人网站免费搭建seo自动工具
  • web网站开发的设计思想湖南网络推广公司大全
  • 文化公司网站建设策划书网站设计制作
  • 破解网站后台密码有人做吗深圳网站做优化哪家公司好
  • 怎么查那些人输入做网站免费建站工具
  • 怎么建网站锦州福州seo技术培训
  • 哪家做网站比较好全网万能搜索引擎
  • 网站建设知识文章公司营销策划方案案例
  • 哪个餐饮店微网站做的有特色网站点击量与排名
  • 做网站开发面临的困难网站推广的方式有哪些
  • 湛江网络营销邯郸网站建设优化
  • 用centos搭建wordpress网站seo推广排名
  • 分销系统开发多少钱贵州seo和网络推广
  • 网站建设服务费属于什么科目seo综合查询网站源码
  • 车辆优化管理专业网站全网搜索关键词查询
  • 深圳做网站报价seo推广的公司
  • 国际建设管理学会网站百度一下 你就知道官网
  • 怎么做网站教程 用的工具现在的seo1发布页在哪里
  • 不想让网站保存密码怎么做二级域名查询入口
  • 公司网站建设佛山哪家专业网站开发流程是什么
  • ppt做的好的网站注册商标查询官网入口
  • 太原广告公司网站建设网络服务网络推广
  • 哪个网站可以做加工百度竞价sem
  • 企业网站设计与制作营销网络的建设有哪些
  • 广告公司手机网站模板广东培训seo
  • 中企动力做网站多少钱中国第三波疫情将在9月份