Facilitates performance benchmark execution and data analysis in Nanvix.
Install
mkdir -p .claude/skills/benchmarking-nanvix && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18492" && unzip -o skill.zip -d .claude/skills/benchmarking-nanvix && rm skill.zipInstalls to .claude/skills/benchmarking-nanvix
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Guide for building, running, and analyzing Nanvix performance benchmarks. Use this when asked about benchmark setup, execution, or interpretation.Key capabilities
- →Build Nanvix with panic-level logging
- →Run specific performance benchmarks
- →Pin components to different CPU cores
- →Increase system limits for high-iteration runs
- →Visualize benchmark results
- →Analyze benchmark data with automation scripts
How it works
This skill guides the process of building Nanvix for benchmarking, running various performance tests, and analyzing the results using provided scripts.
Inputs & outputs
When to use benchmarking
- →Measure system boot time
- →Compare snapshot restore speed
- →Analyze TCP echo latency
About this skill
Benchmarking Nanvix
Use this skill when the user asks about running, creating, or analyzing performance benchmarks in Nanvix.
Benchmark Tool
Nanvix includes nanvix-bench (src/utils/nanvix-bench/) for measuring system performance.
Benchmarks require a release build with panic-level logging.
Building for Benchmarks
./z build -- all RELEASE=yes LOG_LEVEL=panic
Available Benchmarks
| Benchmark | Description |
|---|---|
boot-time | Start a user VM without nanvixd |
cold-start | Spawn nanvixd + VM + first echo round trip |
cold-start-uvm | Start a user VM + first gateway echo |
snapshot-restore | Compare snapshot restore with cold boot |
vfs-bench | Measure guest VFS operation latency |
warm-start-gateway | Round-trip latency through the VM gateway |
warm-start-vmm | Raw round-trip latency inside the user VM |
warm-start-socket | TCP echo latency through guest networking |
Running Benchmarks
# Basic usage.
./bin/nanvix-bench.elf -benchmark cold-start
./bin/nanvix-bench.elf -benchmark cold-start-uvm
./bin/nanvix-bench.elf -benchmark warm-start-gateway
./bin/nanvix-bench.elf -benchmark warm-start-vmm
./bin/nanvix-bench.elf -benchmark warm-start-socket
# See all options.
./bin/nanvix-bench.elf -help
Core Pinning (Recommended)
For best performance, pin components to different CPU dies. Create a JSON config:
{
"client_core_str": "0-9"
}
Then pass it to the benchmark:
./bin/nanvix-bench.elf \
-benchmark <benchmark> \
-hwloc <path_to_config.json>
High-Iteration Runs
For benchmarks with many iterations, increase system limits:
ulimit -u 65536 # Max user processes.
ulimit -n 65536 # Max open files.
Benchmark Applications
Source code for benchmark programs:
| Benchmark App | Path | Lang |
|---|---|---|
echo-rust-nostd | src/benchmarks/echo-rust-nostd/ | Rust |
noop-rust-nostd | src/benchmarks/noop-rust-nostd/ | Rust |
Analyzing Results
Benchmark results can be visualized with the plotting script:
python3 scripts/plot-performance.py
Additional analysis can be done with the automation script:
python3 scripts/benchmark.py
Benchmarking on Windows
On Windows, the cold-start benchmark spawns a fresh nanvixd process per iteration and measures
the time from process spawn to the first echo round trip.
Building
.\z.ps1 build -- all RELEASE=yes LOG_LEVEL=panic
Available Benchmarks
| Benchmark | Description |
|---|---|
boot-time | Start a user VM (no nanvixd) |
cold-start | Spawn nanvixd + VM + echo round-trip |
cold-start-uvm | Start a user VM + first gateway echo |
snapshot-restore | Measure snapshot restore latency vs boot-time |
warm-start-gateway | Round-trip latency through the VM gateway |
warm-start-vmm | Raw round-trip latency inside the user VM |
Running
# Using z.ps1.
.\z.ps1 bench -- -benchmark cold-start -iterations 10
# Or directly.
.\bin\nanvix-bench.exe -benchmark cold-start -iterations 10
.\bin\nanvix-bench.exe -benchmark boot-time -iterations 100
.\bin\nanvix-bench.exe -help
Use -help to list all benchmark options supported by the current build.
When not to use it
- →When not working with Nanvix
- →When performance benchmarks are not required
- →When a release build with panic-level logging is not desired
Limitations
- →Requires a release build with panic-level logging for benchmarks
- →Core pinning requires a JSON configuration file
- →High-iteration runs require increasing system limits
How it compares
This skill provides a structured approach to Nanvix performance benchmarking, including specific build configurations and analysis tools, which is more efficient than manual, ad-hoc testing.
Compared to similar skills
benchmarking side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| benchmarking (this skill) | 0 | 17d | Review | Intermediate |
| agent-performance-benchmarker | 3 | 5mo | No flags | Advanced |
| find-hypertable-candidates | 1 | 3mo | No flags | Intermediate |
| run-rust-benchmarks | 1 | 1mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by nanvix
View all by nanvix →You might also like
agent-performance-benchmarker
ruvnet
Agent skill for performance-benchmarker - invoke with $agent-performance-benchmarker
find-hypertable-candidates
timescale
Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables. **Trigger when user asks to:** - Analyze database tables for hypertable conversion potential - Identify time-series or event tables in an existing schema - Evaluate if a table would benefit from Timescale/TimescaleDB - Audit PostgreSQL tables for migration to Timescale/TimescaleDB/TigerData - Score or rank tables for hypertable candidacy **Keywords:** hypertable candidate, table analysis, migration assessment, Timescale, TimescaleDB, time-series detection, insert-heavy tables, event logs, audit tables Provides SQL queries to analyze table statistics, index patterns, and query patterns. Includes scoring criteria (8+ points = good candidate) and pattern recognition for IoT, events, transactions, and sequential data.
run-rust-benchmarks
RediSearch
Run Rust benchmarks and compare performance with the C implementation
perplexity-cost-tuning
jeremylongshore
Optimize Perplexity costs through tier selection, sampling, and usage monitoring. Use when analyzing Perplexity billing, reducing API costs, or implementing usage monitoring and budget alerts. Trigger with phrases like "perplexity cost", "perplexity billing", "reduce perplexity costs", "perplexity pricing", "perplexity expensive", "perplexity budget".
clay-performance-tuning
jeremylongshore
Optimize Clay API performance with caching, batching, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Clay integrations. Trigger with phrases like "clay performance", "optimize clay", "clay latency", "clay caching", "clay slow", "clay batch".
clerk-cost-tuning
jeremylongshore
Optimize Clerk costs and understand pricing. Use when planning budget, reducing costs, or understanding Clerk pricing model. Trigger with phrases like "clerk cost", "clerk pricing", "reduce clerk cost", "clerk billing", "clerk budget".