Add performance tests to CI with native PowerShell support#73
Add performance tests to CI with native PowerShell support#73supervoidcoder merged 5 commits intomainfrom
Conversation
- Update CI workflow to run both .bat and .ps1 test files - Fix typo: stess -> stress in filename - Update stress test to use relative paths instead of hardcoded paths - Add performance tests for help, version, self-lookup, and PID lookup operations - All performance tests output timing in TotalMilliseconds format Co-authored-by: supervoidcoder <88671013+supervoidcoder@users.noreply.github.com>
- Remove unnecessary nested PowerShell invocation in CI - Add validation to check win-witr.exe exists before running stress test Co-authored-by: supervoidcoder <88671013+supervoidcoder@users.noreply.github.com>
supervoidcoder
left a comment
There was a problem hiding this comment.
also can you do one tha'ts like
1..100 | ForEach-Object { Measure-Command { .\win-witr --pid 17388 } | Select-Object TotalMilliseconds }
There was a problem hiding this comment.
since build.yml can run ps1 files now, the .bat file is kind of unnecessary since it was just a wrapper. now it will run both which will make workflows 30 seconds slower
There was a problem hiding this comment.
Fixed in 97b4fd2 - removed the .bat wrapper since CI now runs .ps1 files directly.
- Remove stress_nested_shells.bat to avoid duplicate test execution - Add perf_pid_100runs.ps1 with 100 iterations of PID lookup showing TotalMilliseconds Co-authored-by: supervoidcoder <88671013+supervoidcoder@users.noreply.github.com>
Added in 97b4fd2 - created |
supervoidcoder
left a comment
There was a problem hiding this comment.
just nitpicking ⛏️⛏️⛏️⛏️⛏️⛏️⛏️⛏️⛏️⛏️ ![]()
There was a problem hiding this comment.
you don't need to use the pid i just meant to use like the 100 iterations things but you should use the name way which can automatically get the pid for you
There was a problem hiding this comment.
Fixed in cb8dac4 - now uses win-witr win-witr.exe which automatically finds the PID by process name.
- Change perf_pid_100runs.ps1 to use 'win-witr win-witr.exe' instead of '--pid' - This automatically finds the PID by process name, simplifying the test Co-authored-by: supervoidcoder <88671013+supervoidcoder@users.noreply.github.com>
|
@coderabbitai this is so tuff i think it's ready 🔥🔥🔥 |
|
Tip For best results, initiate chat on the files or code changes.
Would you like me to:
Just let me know! 🚀 🐰✨ 🧠 Learnings used |
Plan: Add Performance Tests to CI
.batand.ps1test files directlySummary
Successfully added comprehensive performance testing to the CI pipeline:
Changes Made:
Updated CI workflow (
.github/workflows/build.yml):.ps1files directly (not.batfiles)Fixed existing stress test:
stess_nested_shells.bat→stress_nested_shells.batCreated 5 new performance tests:
perf_help.ps1- Measures help command performanceperf_version.ps1- Measures version command performanceperf_self_lookup.ps1- Measures process name lookup (5-run average)perf_pid_lookup.ps1- Measures PID lookup (5-run average)perf_pid_100runs.ps1- Runs process name lookup 100 times showing TotalMilliseconds for each iterationAll performance tests use PowerShell's
Measure-Commandcmdlet and report timing inTotalMillisecondsformat as requested.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.