agentsclimarketplace

Opp repl speed tests

Skill tabgab/opp_repl-skill/opp-repl-speed-tests

Detect performance regressions by measuring CPU instruction counts with the `profile` build mode and comparing against a stored baseline in speed_store. run_speed_tests / update_speed_test_results use perf counters for deterministic measurement across noisy hardware. Load when you need to catch a change that makes the simulator slower.From its SKILL.md

Install
npx -y skills add tabgab/opp_repl-skill --skill opp-repl-speed-tests

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.2 KB, 431 tokens by cl100k_base, as published. Nobody here has run it

Speed tests

Speed tests measure the CPU instruction count of a simulation (via Linux perf counters) and compare it to a baseline in the project's speed_store (default speed.json). Instruction count is more deterministic than wall time, so these tests work on shared/noisy CI machines without flapping.

Upstream reference: https://github.com/omnetpp/opp_repl/blob/main/doc/speed_tests.md

Build mode

Speed tests require the profile build mode (binary suffix _profile). run_speed_tests() builds it automatically.

Python API

# Seed the baseline
update_speed_test_results(simulation_project=inet_project)

# Run the tests
run_speed_tests(simulation_project=inet_project)

# Target a subset
run_speed_tests(simulation_project=inet_project,
                working_directory_filter="showcases")

Result codes: PASS / FAIL (plus KEEP/INSERT/UPDATE on updates).

Command line

opp_update_speed_test_results --load inet.opp -p inet
opp_run_speed_tests           --load inet.opp -p inet

When to pick speed tests

  • You merged an optimization and want to lock in the gain.
  • You suspect a regression made the simulator slower (even though results are still correct).
  • You want to track long-term performance in a per-commit dashboard.

Pitfalls

  • Requires Linux perf support (perf_event_paranoid <= 2 on many distros). macOS cannot run speed tests.
  • Instruction counts shift with compiler / libc updates. After a toolchain bump, refresh the baseline before running.
  • Tests that heavily use the RNG may have instruction counts dependent on seed values; hold seeds constant across runs.

See also

  • opp-repl-profiling — deeper look at where cycles go.
  • opp-repl-running-simulations — underlying run machinery.
  • opp-repl-tasks-and-results — inspect speed-test FAILs.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.