Performance
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4
- Forks
- 0
- Avg merge
- 5h 52m
- Merged PRs (30d)
- 4
Description
For improved reliability, the machine needs some setup. Maybe we can validate that automatically?
Guides:
- https://google.github.io/benchmark/reducing_variance.html
- https://juliaci.github.io/BenchmarkTools.jl/stable/linuxtips/
- https://llvm.org/docs/Benchmarking.html
- https://wiki.archlinux.org/title/CPU_frequency_scaling
-
sudo python -mpyperf system tune
Once (total, in BIOS)
- Disable Hyperthreading/SMT (looks complex, prefer doing in BIOS)
Per boot
-
Global setup:
Use performance governor for all CPUS
Disable processor boosting
Reduce swappiness
No ASLRtentative script so far:
# performance governor echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor # no boosting echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost # low swappiness sudo sysctl vm.swappiness=10 # no ASLR sudo sysctl kernel.randomize_va_space=0 -
Assign roles to CPUS:
- Make sure no timed services run on the CPUs used in benchmarks (processor shielding)
- Set up interrupts (SMP affinity)
Per run
- Set the benchmark program’s task affinity to a fixed cpu. (ASV:
--cpu-affinity, subprocess:taskset -c 0 ./mybenchmark)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked LLVM, CPU frequency scaling, and pyperf system-tuning guides, then inspect the tentative Nushell commands and the listed ASV --cpu-affinity and taskset entry points. Done should mean the benchmark environment can automatically validate or apply the documented per-boot and per-run setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python, rust, shell
- Domain
- devops, operating-systems, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100