@@ -146,7 +146,6 @@ python -m csp_benchmarks.hetzner.cli cleanup
146146
147147Benchmarks run automatically:
148148
149- - ** Weekly** : Full benchmarks on Hetzner Cloud (Sunday 2 AM UTC)
150149- ** On push to main** : Benchmarks for the new commit
151150- ** Manual trigger** : Via workflow_dispatch with custom options
152151
@@ -158,7 +157,75 @@ View the latest results at: <https://csp-community.github.io/csp-benchmarks/>
158157
159158## Contributing
160159
160+ ### Adding New Benchmarks
161+
1611621 . Add new benchmarks to the ` benchmarks/ ` directory
1621631 . Follow ASV naming conventions (` bench_*.py ` , class names ending in ` Suite ` )
1631641 . Use parameterized benchmarks for testing across different configurations
1641651 . Run ` make benchmark-local ` to test your benchmarks before submitting
166+
167+ ### Contributing Machine Results
168+
169+ You can contribute benchmark results from your own machine to help the community understand csp performance across different hardware configurations.
170+
171+ #### Step 1: Register Your Machine
172+
173+ Add your machine to ` csp_benchmarks/asv-machine.json ` . Use a unique, descriptive name:
174+
175+ ``` json
176+ {
177+ "timkpaine-framework-13" : {
178+ "arch" : " x86_64" ,
179+ "cpu" : " AMD Ryzen AI 9 HX 370 (24 cores)" ,
180+ "machine" : " timkpaine-framework-13" ,
181+ "num_cpu" : " 24" ,
182+ "os" : " Ubuntu 24.04" ,
183+ "ram" : " 64GB"
184+ }
185+ }
186+ ```
187+
188+ Machine naming convention: ` username-device-model ` (e.g., ` timkpaine-framework-13 ` , ` johndoe-mbp-m3 ` )
189+
190+ #### Step 2: Run Benchmarks
191+
192+ ``` bash
193+ # Install dependencies
194+ pip install -e " .[develop]"
195+
196+ # Copy machine config to ASV location
197+ cp csp_benchmarks/asv-machine.json ~ /.asv-machine.json
198+
199+ # Run benchmarks with your machine name
200+ python -m asv run --config csp_benchmarks/asv.conf.json --machine your-machine-name
201+
202+ # Or use make (runs with local Python)
203+ make benchmark-local
204+ ```
205+
206+ #### Step 3: Verify Results
207+
208+ ``` bash
209+ # Check that results were created
210+ ls csp_benchmarks/results/your-machine-name/
211+
212+ # Preview the results locally
213+ make benchmark-view
214+ ```
215+
216+ #### Step 4: Submit a Pull Request
217+
218+ 1 . Fork the repository
219+ 1 . Create a branch: ` git checkout -b add-machine-results `
220+ 1 . Commit your changes:
221+ - ` csp_benchmarks/asv-machine.json ` (your machine entry)
222+ - ` csp_benchmarks/results/your-machine-name/ ` (your result files)
223+ 1 . Open a PR with a description of your hardware
224+
225+ #### Tips for Consistent Results
226+
227+ - Close other applications during benchmarking
228+ - Run on AC power (not battery) for laptops
229+ - Ensure stable CPU frequency (disable turbo boost for more consistent results)
230+ - Run multiple times and verify results are stable
231+ - Include your OS version and Python version in the PR description
0 commit comments