Repository navigation
Benchmarks
Chamoswor edited this page Oct 19, 2025
·
1 revision
Benchmark run collected on 2025-10-19 against the Windows PowerShell host. Raw artifacts live beside this page (bench.json, bench.csv).
-
Python: 3.13.5 (
...\.venv\Scripts\python.exe) - Platform: Windows 11 (build 26200), AMD64, Intel64 Family 6 Model 60 Stepping 3
- Timeout: 30 s default
-
Command under test:
$x=1+1; $x | Out-Null
| Parameter | Value |
|---|---|
| Batch sizes | 50, 100, 200 |
| Batch repeats | 3 |
Async fan-out (async_n) |
50 |
| Commands per shell (sequential) | 50 |
| Warm shells | 0 (single shell reused) |
| Output files |
bench.json, bench.csv
|
All timings are wall-clock; throughput reported as completed commands per second.
| Size | Sequential mean (ms) | Sequential thrpt | Batch per-cmd mean (ms) | Batch thrpt | Async latency mean (ms) | Async thrpt | Batch eff. | Async eff. |
|---|---|---|---|---|---|---|---|---|
| 50 | 4.041 | 247.30 | 3.387 | 295.24 | 2.359 | 293.61 | 1.193 | 1.186 |
| 100 | 3.754 | 266.17 | 3.685 | 271.40 | 2.247 | 304.26 | 1.019 | 1.142 |
| 200 | 3.476 | 287.45 | 3.203 | 312.23 | 1.938 | 348.66 | 1.085 | 1.212 |
Key takeaways
- Async submission sustained up to 349 cmds/s, with sub-2 ms average latency at size 200.
- Batch execution remains ~8-19% more efficient than sequential issuance depending on size.
- Single-command overhead holds steady around 3.0 ms, implying platform start-up dominates short runs.
Representative workloads (10-20 iterations per type) confirm consistent latency across scenarios.
| Command | Mean (ms) | 95th percentile (ms) | Est. throughput |
|---|---|---|---|
| Simple echo | 3.16 - 10.75 | 3.54 - 77.07 | 93 - 316 cmds/s |
| Math operation | 3.47 - 3.70 | 4.09 - 4.34 | 271 - 288 cmds/s |
| Get date | 3.70 - 5.78 | 4.45 - 22.54 | 173 - 270 cmds/s |
| File operation | 9.08 - 15.47 | 10.99 - 69.53 | 65 - 110 cmds/s |
| Variable assignment | 3.38 - 4.22 | 3.79 - 7.72 | 237 - 296 cmds/s |
Ranges express the min/max across the tested batch sizes.
Session save operations average 302 ms (p50 272 ms, p95 594 ms). Budget roughly 0.3 s when snapshotting state between runs.
- Startup cost: 0.33 s for the initial PowerShell host.
- Command submission overhead: 3.0 ms independent of payload.
- Size scaling: throughput stabilises beyond 50 commands; per-command overhead flattens near 3.2 ms even at 200 commands.
-
bench.jsoncontains full structured results (env, per-size stats, persistence metrics). -
bench.csvoffers concise tabular data suitable for spreadsheets. -
vs_bench.pyis the benchmark harness script.
- Home
- Getting started
- Installation
- Quickstart
- Usage
- API Overview
- Synchronous Execution
- Asynchronous Execution
- Running Scripts
- Zero Copy Bridge
- generate_psobject
- make_proxy
- Error Handling
- Configuration
- Security Notes
- Performance Tips
- Help
- Troubleshooting
- FAQ
- Project
- Changelog
- Design & Architecture
- Benchmarks