📦 OpenClaw Performance — OpenClaw 性能

v1.0.0

OpenClaw 性能工具。

0· 79·0 当前·0 累计
michealxie001 头像by @michealxie001·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/1
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
The skill's code, documentation, and runtime instructions align with a local Python performance-analysis tool and it does not request credentials, installs, or external network access.
评估建议
This skill appears to be what it says: a local Python performance analyzer. Before installing or running it, consider: (1) review the included scripts locally (you already have them) and run them in a sandbox or on a copy of your repository to avoid accidental scans of sensitive directories; (2) the tool reads your source files — do not point it at folders containing secrets or credentials; (3) profiling recommendations (cProfile, timeit) will execute your code if you follow them — only run user...
详细分析 ▾
用途与能力
Name/description claim performance analysis; included scripts/main.py implements static analysis, simple checks (N+1, string concat, unused imports, nested loops) and CLI stubs for profiling/benchmarking. No unrelated binaries, env vars, or credentials are requested — all required pieces are consistent with the stated purpose.
指令范围
SKILL.md instructs running the bundled script against project files or directories and shows CI examples. The runtime instructions and the code only read and parse Python source files and present profiling/benchmark guidance. The analyzer reads files under user-specified --file/--dir; this is expected for a code analysis tool. There are no instructions to access unrelated system files, secrets, or external endpoints.
安装机制
No install spec is provided (instruction-only with a bundled script). Nothing is downloaded or extracted; the single included Python script is self-contained and uses only stdlib modules, which is proportionate and low risk.
凭证需求
The skill declares no required environment variables or credentials. The code also does not read environment variables or require secrets. This is appropriate for a static profiler/analyzer.
持久化与权限
Skill is not always-enabled and requests no elevated persistence. It does not modify other skills or global agent configuration. Autonomous invocation (platform default) would let the agent run the analyzer, which is reasonable but should be controlled by the user.
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/1

Performance analysis and bottleneck detection tool

无害

安装命令

点击复制
官方npx clawhub@latest install openclaw-perf
镜像加速npx clawhub@latest install openclaw-perf --registry https://cn.longxiaskill.com

技能文档

性能分析工具,分析代码执行、识别瓶颈、提供优化建议。

Version: 1.0 Features: 性能分析、瓶颈识别、优化建议、基准测试


Quick 开始

1. 分析 Python 代码

# 分析函数执行时间
python3 scripts/main.py profile --file src/main.py --function process_data

# 分析整个模块 python3 scripts/main.py profile --file src/main.py

2. 识别瓶颈

# 扫描代码中的性能问题
python3 scripts/main.py analyze --file src/main.py

# 分析目录 python3 scripts/main.py analyze --dir src/

3. 基准测试

# 运行基准测试
python3 scripts/main.py benchmark --file src/main.py --function heavy_computation

Commands

命令说明示例
profile性能分析profile --file src.py
analyze瓶颈分析analyze --file src.py
benchmark基准测试benchmark --function foo

个人资料 输出

$ python3 scripts/main.py profile --file src/processor.py --function process_data

🔍 Performance Profile ======================

Function: process_data File: src/processor.py:45 Calls: 100 Total time: 2.34s Avg time: 23.4ms

Top hotspots: 45% - database.query() (line 67) 30% - json.dumps() (line 89) 15% - data transformation (line 78) 10% - other

Recommendations: ⚠️ Consider caching database results ⚠️ Use orjson instead of json for better performance


瓶颈分析

$ python3 scripts/main.py analyze --file src/api.py

🔍 Performance Analysis =======================

File: src/api.py Issues found: 3

🔴 High Impact: Line 34: Nested loop O(n²) for user in users: for order in orders: # ← N+1 query pattern Suggestion: Use JOIN query instead

🟡 Medium Impact: Line 67: String concatenation in loop result += item # ← Use list + join instead

🟢 Low Impact: Line 89: Unused import import heavy_module # ← Remove if not used


基准测试

$ python3 scripts/main.py benchmark --file src/sort.py --function quicksort

⏱️ Benchmark Results ====================

Function: quicksort Iterations: 1000

Time (ms): Mean: 12.34 Median: 11.89 Min: 8.45 Max: 45.67 P95: 18.90 P99: 32.10

Memory (MB): Mean: 2.45 Peak: 4.12

Comparison: vs bubble sort: 45x faster vs merge sort: 1.2x faster


检测的优化模式

代码层面

问题检测建议
N+1 查询使用 JOIN / select_related
循环内字符串拼接使用 list + join
未使用的导入移除导入
嵌套循环优化算法或使用哈希
重复计算缓存结果

Python 特定

问题检测建议
list vs generator大数据用 generator
dict.get() vs []使用 .get() 避免 KeyError
列表推导式替代 map/filter

Configuration

.performance.json:

{
  "benchmark_iterations": 1000,
  "warmup_iterations": 10,
  "profile_lines": true,
  "check_patterns": [
    "n_plus_one",
    "string_concat_in_loop",
    "unused_imports"
  ]
}

CI/CD 集成

# .github/workflows/performance.yml
name: Performance Check
on: [pull_request]

jobs: perf: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Analyze Performance run: python3 skills/performance/scripts/main.py analyze --dir src/ - name: Run Benchmarks run: python3 skills/performance/scripts/main.py benchmark --all


Files

skills/performance/
├── SKILL.md                    # 本文件
└── scripts/
    ├── main.py                 # ⭐ 统一入口
    ├── profiler.py             # 性能分析器
    └── analyzer.py             # 瓶颈分析器

Roadmap

  • [x] Basic profiling
  • [x] Bottleneck detection
  • [x] Benchmark runner
  • [ ] Memory profiling
  • [ ] Flame 图形 generation
数据来源ClawHub ↗ · 中文优化:龙虾技能库