con un clic
jmh-bench
该skill没有执行文件,为操作指引:运行JMH基准测试的标准流程
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
该skill没有执行文件,为操作指引:运行JMH基准测试的标准流程
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
AI记忆持久化系统。使用memrec存储、检索、管理跨会话记忆。支持项目隔离、混合检索(KNN+BM25)、MMR重排、中文搜索。触发场景:(1)重要决策需记录,(2)关键知识需保存,(3)项目上下文需跨会话保持,(4)用户偏好需记忆,(5)检索历史知识辅助当前任务。
Rust 性能分析技能:通过 cargo flamegraph 生成火焰图(SVG),定位 CPU 热点函数并量化占比。适用于 Rust 项目性能瓶颈定位、热点分析、优化验证。触发场景:(1)分析 Rust 代码性能瓶颈,(2)定位 CPU 热点函数,(3)量化函数调用占比,(4)优化前后对比验证,(5)bench/unittest 性能不达预期时根因分析。
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
项目问题侦测技能:综合分析设计、性能、安全问题,评分并提出重构或重建方案
局部代码修改技能:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证和全量关联检查
该skill没有执行文件,为操作指引:如何重构
| name | jmh-bench |
| description | 该skill没有执行文件,为操作指引:运行JMH基准测试的标准流程 |
执行 skill /java-env 获取 Java 开发环境信息:
skill java-env
确认:
在项目中添加 JMH 依赖:
<dependencies>
<!-- JMH Core -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.37</version>
</dependency>
<!-- JMH Annotations -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.37</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 编译插件,确保 annotation processor 生效 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.37</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
# 编译项目
mvn clean compile -q
# 运行全部基准测试
mvn exec:exec -Dexec.executable="java" \
-Dexec.args="-cp %classpath org.openjdk.jmh.Main" -q
# 运行指定基准测试类
mvn exec:exec -Dexec.executable="java" \
-Dexec.args="-cp %classpath org.openjdk.jmh.Main BenchmarkClassName" -q
# 运行指定基准测试(带参数)
mvn exec:exec -Dexec.executable="java" \
-Dexec.args="-cp %classpath org.openjdk.jmh.Main BenchmarkClassName -wi 3 -i 3 -t 1 -f 1" -q
参数说明:
-wi N: Warmup 迭代次数-i N: Measurement 迭代次数-t N: 线程数-f N: Fork 次数创建脚本 run_bench.sh:
#!/bin/bash
# Run JMH benchmark
# Usage: ./run_bench.sh [BenchmarkClass] [jmh_args...]
PROJECT_DIR=$(dirname "$0")
cd "$PROJECT_DIR"
BENCHMARK_CLASS="${1:-}"
JMH_ARGS="${2:-}"
# Build classpath
CLASSPATH="target/classes:target/test-classes:$(mvn dependency:build-classpath -Dmdep.outputFile=/dev/stdout -q)"
# Run JMH
if [ -n "$BENCHMARK_CLASS" ]; then
java -cp "$CLASSPATH" org.openjdk.jmh.Main "$BENCHMARK_CLASS" $JMH_ARGS
else
java -cp "$CLASSPATH" org.openjdk.jmh.Main
fi
使用方式:
chmod +x run_bench.sh
# 运行全部
./run_bench.sh
# 运行指定类
./run_bench.sh MyBenchmark
# 运行指定类带参数
./run_bench.sh MyBenchmark "-wi 5 -i 5"
| 场景 | 命令 |
|---|---|
| 快速验证 | -wi 3 -i 3 -t 1 -f 1 |
| 标准测试 | -wi 5 -i 5 -t 4 -f 2 |
| 精确测试 | -wi 10 -i 10 -t 1 -f 3 |
| 列出所有Benchmark | -l |
典型输出示例:
Benchmark Mode Cnt Score Error Units
MyBenchmark.testMethod thrpt 5 123456.789 ± 5000 ops/s
指标说明:
thrpt: Throughput 吞吐量(ops/s)avgt: Average Time 平均耗时(us/op)sample: Sampling 时间采样Score: 平均值Error: 置信区间误差(99.9%)System.gc()bh.consume(result)@State(Scope.Thread) 避免线程竞争-t 1 消除并发因素