Conversation
- Replace pytest-benchmark with pytest-codspeed in test dependencies - Rewrite benchmark tests to use @pytest.mark.benchmark decorator - Add full process lifecycle benchmark (init + run + destroy) - Parameterize benchmarks across AsyncioConnector and ZMQConnector - Replace GitHub Actions workflow with CodSpeed integration Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com> Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/b8d70f1d-7f6f-412b-9452-e70611a349de
…tion - test_benchmark_process_run now uses benchmark.pedantic with setup to only time process.run(), excluding init - Added RayConnector/RayProcess to both benchmark test parametrizations - Added Ray env vars to CI workflow for benchmark tests Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com> Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/2d017dc2-a948-4b46-8c61-c42be32507a4
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Congrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Wait for CodSpeedHQ/pytest-codspeed#113 before merging this. |
Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/e645afe0-8441-4d40-a914-d6d34ad285d0 Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com>
Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/e645afe0-8441-4d40-a914-d6d34ad285d0 Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com>
Reinstated the run-only tests based on c663755 and updated pytest-codspeed to |
This reverts commit 9356ef9.
|
@copilot change the benchmark tests back to using ubuntu-latest rather than codspeed macro, and don't use walltime mode - go back to default |
Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/d0198a73-2b53-48d6-a373-3d0276122cf4 Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com>
Done in |
|
@copilot determine why benchmark tests in CI fail with |
… in CI Agent-Logs-Url: https://github.com/plugboard-dev/plugboard/sessions/fba811b4-cfe6-408b-976c-314de91e50c8 Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com>
Fixed in Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Summary
Replace
pytest-benchmarkwithpytest-codspeedfor benchmarking, extend test coverage to full process lifecycle and run-only benchmarks, and parameterize across connector types.Changes
pyproject.toml: Swappytest-benchmark→pytest-codspeed>=4.4.0tests/benchmark/test_benchmarking.py:test_benchmark_process_lifecycle— benchmarks full init → run → destroy using@pytest.mark.benchmarktest_benchmark_process_run— benchmarks onlyprocess.run()usingBenchmarkFixture.pedanticwithsetup/teardowncallbacks anduvloop.run, excluding init and destroy from timingAsyncioConnector/LocalProcess,ZMQConnector/LocalProcess, andRayConnector/RayProcesstests/benchmark/conftest.py: Added benchmark-specificray_ctxfixture that overrides the session-scoped one fromtests/conftest.py, usinginclude_dashboard=Falseto prevent the Ray dashboard'sMetricsHeadmodule from timing out under CodSpeed instrumentation in CI..github/workflows/benchmarks.yaml: Replace manual checkout-both-branches-and-compare workflow withCodSpeedHQ/action@v4onubuntu-latestusing default mode. Addspushtomainandworkflow_dispatchtriggers for baseline tracking and backtesting. Uses OIDC auth (id-token: write). AddsRAY_ENABLE_UV_RUN_RUNTIME_ENVandPLUGBOARD_IO_READ_TIMEOUTenv vars for Ray-based benchmarks.uv.lock: Updated to reflect dependency change