psmux
13386a0ba1
Add performance benchmark suite (tests/bench)
Statistically rigorous, percentile-based benchmarks executed serially in a
clean environment (server killed and process table verified between runs) so
concurrent psmux launches never contaminate timing.
- bench_startup.ps1: cold/warm session startup (15 cold + 25 warm iters)
- bench_input_latency.ps1: keystroke-to-echo latency (idle/under-load/scrollback)
- bench_throughput.ps1: output rendering throughput (bulk/ANSI/rapid-burst)
- bench_scaling.ps1: window/pane/session scaling + memory profile + leak check
- bench_ipc_compare.ps1: CLI and raw-TCP IPC latency + launch comparison
- bench_wt_compare.ps1: controlled launch-to-visible-window vs Windows Terminal
and pwsh (opens and closes only its own windows; never kills WindowsTerminal)
- BENCHMARK_RESULTS.md: methodology and run1 results
run1 (Ryzen AI Max+ 395): cold launch 71ms server / 388ms prompt, warm 1ms,
one-shot IPC sub-millisecond, attached-client render tick ~15.5ms, output
~10k lines/s, window create 24ms, ~0.28MB/window, no leak.
2026-06-13 07:16:53 +05:30
..
2026-04-28 13:58:59 +05:30
2026-06-13 07:16:53 +05:30
2026-04-18 00:41:21 +05:30
2026-04-18 00:41:21 +05:30
2026-04-12 03:18:06 +05:30
2026-03-14 00:34:43 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-02-07 16:45:13 +05:30
2025-12-26 15:36:17 +05:30
2026-03-25 11:21:13 +05:30
2026-03-13 02:02:14 +05:30
2026-06-08 11:10:33 +05:30
2026-04-18 11:49:16 +05:30
2026-04-18 11:49:16 +05:30
2026-06-09 10:16:49 +05:30
2026-04-18 11:49:16 +05:30
2026-04-12 03:18:06 +05:30
2026-02-25 08:55:38 +05:30
2026-02-27 11:49:40 +05:30
2026-02-27 11:49:40 +05:30
2026-04-07 00:48:02 +05:30
2026-04-07 00:48:02 +05:30
2026-04-07 09:44:57 +05:30
2026-03-05 20:08:50 +05:30
2026-04-18 11:49:16 +05:30
2026-06-03 23:53:59 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-04-22 21:35:53 +05:30
2026-06-08 10:56:12 +05:30
2026-03-03 19:55:00 +05:30
2026-05-02 14:23:35 +05:30
2026-06-05 07:14:34 +05:30
2026-04-07 00:48:02 +05:30
2026-05-21 00:54:14 +05:30
2026-05-21 00:54:14 +05:30
2026-05-21 00:54:14 +05:30
2026-06-05 07:14:34 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 11:10:33 +05:30
2026-04-25 20:17:59 +05:30
2026-04-25 19:59:10 +05:30
2026-04-25 20:35:40 +05:30
2026-04-25 20:17:59 +05:30
2026-06-05 07:14:34 +05:30
2026-05-31 15:10:36 -06:00
2026-06-04 00:23:40 +05:30
2026-04-15 00:51:09 +05:30
2026-02-22 02:04:35 +05:30
2026-06-05 07:14:34 +05:30
2026-05-31 14:04:00 -06:00
2026-06-09 10:48:12 +05:30
2025-12-01 21:25:00 +05:30
2026-04-06 06:20:15 +05:30
2025-12-01 21:25:00 +05:30
2025-12-01 21:25:00 +05:30
2026-03-12 23:28:23 +05:30
2026-03-19 13:57:18 +05:30
2026-04-13 20:27:27 +05:30
2026-03-26 13:59:07 +05:30
2026-03-10 23:05:56 +05:30
2026-03-11 12:43:14 +05:30
2026-04-18 12:18:18 +05:30
2026-04-21 15:58:49 +05:30
2026-04-28 12:09:53 +05:30
2026-04-25 22:11:36 +05:30
2026-03-13 15:46:08 +05:30
2026-04-18 00:41:21 +05:30
2026-03-16 00:01:59 +05:30
2026-02-27 13:58:43 +05:30
2026-02-26 11:47:32 +05:30
2026-04-15 00:51:09 +05:30
2026-03-13 13:07:33 +05:30
2026-04-18 00:41:21 +05:30
2026-04-15 00:51:09 +05:30
2026-04-15 00:51:09 +05:30
2026-04-15 00:51:09 +05:30
2026-04-15 00:51:09 +05:30
2026-03-10 23:05:56 +05:30
2026-03-01 18:11:00 +05:30
2026-02-13 21:32:43 +05:30
2026-03-28 01:37:22 +05:30
2026-02-25 02:01:32 +05:30
2026-03-10 03:46:27 +05:30
2026-04-15 16:03:19 +05:30
2026-04-17 14:48:31 +05:30
2026-03-13 15:46:08 +05:30
2026-03-13 15:46:08 +05:30
2026-04-15 16:03:19 +05:30
2026-03-14 22:54:44 +05:30
2026-03-18 23:52:11 +05:30
2026-04-21 15:58:49 +05:30
2026-04-21 15:58:49 +05:30
2026-04-13 20:27:27 +05:30
2026-03-14 00:34:43 +05:30
2026-04-18 00:41:21 +05:30
2026-03-05 20:08:50 +05:30
2026-03-17 15:36:41 +05:30
2026-04-18 00:41:21 +05:30
2026-03-04 19:00:13 +05:30
2026-04-18 01:25:09 +05:30
2026-02-11 14:46:55 +05:30
2026-02-11 10:59:27 +05:30
2026-02-22 02:04:35 +05:30
2026-03-10 23:05:56 +05:30
2026-04-15 16:03:19 +05:30
2026-02-25 08:55:38 +05:30
2026-03-11 16:29:06 +05:30
2026-04-15 00:51:09 +05:30
2026-03-20 12:29:59 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-04-18 00:41:21 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-11 16:29:06 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-07 05:48:55 +05:30
2026-06-07 05:48:55 +05:30
2026-06-06 11:19:01 +05:30
2026-03-17 09:31:28 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-17 09:31:28 +05:30
2026-06-06 11:19:01 +05:30
2026-03-17 09:31:28 +05:30
2026-06-06 11:19:01 +05:30
2026-02-20 22:42:08 +05:30
2026-03-17 09:31:28 +05:30
2026-02-23 23:34:13 +05:30
2026-02-23 23:34:13 +05:30
2026-02-24 14:03:17 +05:30
2026-02-24 14:03:17 +05:30
2026-03-21 01:47:52 +05:30
2026-03-12 00:31:05 +05:30
2026-03-21 01:47:52 +05:30
2026-03-11 16:29:06 +05:30
2026-06-06 11:19:01 +05:30
2026-03-12 10:03:00 +05:30
2026-02-27 11:49:40 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-07 05:48:55 +05:30
2026-06-07 05:48:55 +05:30
2026-06-07 05:48:55 +05:30
2026-06-06 11:19:01 +05:30
2026-03-13 15:46:08 +05:30
2026-06-06 11:19:01 +05:30
2026-04-15 16:03:19 +05:30
2026-06-06 11:19:01 +05:30
2026-03-15 21:13:42 +05:30
2026-03-14 03:29:41 +05:30
2026-03-15 01:17:14 +05:30
2026-03-14 10:20:08 +05:30
2026-06-06 11:19:01 +05:30
2026-04-07 16:11:36 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-04-15 16:03:19 +05:30
2026-06-06 11:19:01 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-05-01 14:53:16 +05:30
2026-06-06 11:19:01 +05:30
2026-03-09 00:07:46 +05:30
2026-03-10 01:19:15 +05:30
2026-03-10 03:46:27 +05:30
2026-03-17 09:31:28 +05:30
2026-04-14 12:47:15 +05:30
2026-03-17 09:31:28 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-14 02:28:45 +05:30
2026-06-06 11:19:01 +05:30
2026-03-14 02:09:51 +05:30
2026-06-06 11:19:01 +05:30
2026-04-15 16:03:19 +05:30
2026-04-18 00:41:21 +05:30
2026-03-16 00:29:08 +05:30
2026-03-15 02:35:32 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-20 13:00:22 +05:30
2026-06-06 11:19:01 +05:30
2026-03-20 16:34:58 +05:30
2026-04-15 16:03:19 +05:30
2026-03-18 22:59:10 +05:30
2026-06-06 11:19:01 +05:30
2026-03-23 23:40:56 +05:30
2026-03-23 23:40:56 +05:30
2026-04-15 16:03:19 +05:30
2026-03-19 10:44:48 +05:30
2026-03-20 16:53:52 +05:30
2026-03-22 00:17:18 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-21 17:35:51 +05:30
2026-03-22 16:06:23 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-25 13:34:49 +05:30
2026-06-06 11:19:01 +05:30
2026-04-15 16:03:19 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-03-31 23:00:36 +05:30
2026-05-01 18:44:43 +05:30
2026-06-08 03:55:09 +05:30
2026-06-08 03:55:09 +05:30
2026-05-01 18:44:43 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-04-02 00:20:04 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-04-12 03:18:06 +05:30
2026-04-11 23:14:33 +05:30
2026-04-21 15:58:49 +05:30
2026-04-12 03:18:06 +05:30
2026-06-06 11:19:01 +05:30
2026-04-22 21:32:22 +05:30
2026-04-22 21:32:22 +05:30
2026-05-04 21:39:12 +05:30
2026-05-04 21:39:12 +05:30
2026-06-06 11:19:01 +05:30
2026-04-18 00:41:21 +05:30
2026-04-18 00:41:21 +05:30
2026-04-11 17:48:32 +05:30
2026-04-11 18:53:45 +05:30
2026-04-11 19:02:03 +05:30
2026-04-14 10:16:23 +05:30
2026-04-18 00:41:21 +05:30
2026-04-13 15:21:28 +05:30
2026-04-13 20:27:27 +05:30
2026-04-13 20:27:27 +05:30
2026-04-13 20:27:27 +05:30
2026-04-13 20:27:27 +05:30
2026-04-14 11:52:45 +05:30
2026-04-14 10:57:28 +05:30
2026-04-18 00:41:21 +05:30
2026-05-30 20:27:55 -06:00
2026-04-15 00:51:09 +05:30
2026-04-15 16:03:19 +05:30
2026-04-15 16:03:19 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-04-18 00:41:21 +05:30
2026-06-06 11:19:01 +05:30
2026-04-22 11:53:43 +05:30
2026-04-22 11:53:43 +05:30
2026-04-18 00:41:21 +05:30
2026-04-18 00:11:41 +05:30
2026-04-17 17:57:35 +05:30
2026-04-17 10:14:33 +05:30
2026-04-17 10:14:33 +05:30
2026-04-17 15:50:06 +05:30
2026-04-21 15:58:49 +05:30
2026-04-18 12:44:47 +05:30
2026-06-06 11:19:01 +05:30
2026-04-18 13:43:02 +05:30
2026-04-18 13:43:02 +05:30
2026-04-18 14:13:13 +05:30
2026-06-06 11:19:01 +05:30
2026-04-18 11:49:16 +05:30
2026-04-18 11:49:16 +05:30
2026-04-18 11:49:16 +05:30
2026-04-19 15:55:54 +05:30
2026-06-06 11:19:01 +05:30
2026-04-19 22:45:21 +05:30
2026-04-20 23:50:52 +05:30
2026-04-20 23:50:52 +05:30
2026-04-25 22:57:12 +05:30
2026-04-22 21:35:53 +05:30
2026-04-21 16:35:37 +05:30
2026-04-22 12:09:00 +05:30
2026-04-28 13:58:59 +05:30
2026-04-28 13:58:59 +05:30
2026-04-28 13:58:59 +05:30
2026-04-25 19:11:51 +05:30
2026-04-26 17:41:10 +05:30
2026-05-01 14:59:52 +05:30
2026-04-28 10:39:09 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-04-30 21:30:35 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-05-01 14:59:52 +05:30
2026-04-30 23:03:50 +05:30
2026-04-30 23:56:10 +05:30
2026-04-30 23:56:10 +05:30
2026-04-30 23:56:10 +05:30
2026-04-30 23:08:03 +05:30
2026-04-30 23:08:03 +05:30
2026-04-30 23:08:03 +05:30
2026-05-01 14:38:27 +05:30
2026-05-01 14:57:48 +05:30
2026-05-02 01:36:41 +05:30
2026-05-02 01:36:41 +05:30
2026-05-09 01:37:47 +05:30
2026-05-09 01:37:47 +05:30
2026-05-02 02:34:39 +05:30
2026-05-02 02:34:39 +05:30
2026-05-02 14:23:35 +05:30
2026-05-02 14:23:35 +05:30
2026-05-02 14:23:35 +05:30
2026-05-02 14:23:35 +05:30
2026-06-06 11:19:01 +05:30
2026-05-21 01:39:27 +05:30
2026-05-19 00:42:34 +05:30
2026-05-19 00:42:34 +05:30
2026-05-19 00:42:34 +05:30
2026-05-19 00:42:34 +05:30
2026-06-06 11:19:01 +05:30
2026-05-19 00:42:34 +05:30
2026-05-19 01:16:54 +05:30
2026-05-25 09:08:38 +05:30
2026-05-25 00:24:21 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-05-24 22:52:32 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-06-06 11:19:01 +05:30
2026-05-27 23:50:29 +05:30
2026-06-03 23:54:12 +05:30
2026-06-04 00:42:47 +05:30
2026-06-06 11:19:01 +05:30
2026-05-30 20:51:00 -06:00
2026-06-06 11:19:01 +05:30
2026-06-03 23:53:59 +05:30
2026-06-04 00:08:44 +05:30
2026-06-04 13:19:28 -06:00
2026-06-07 06:45:37 +05:30
2026-06-07 19:55:46 +05:30
2026-06-07 21:35:21 +05:30
2026-06-07 20:23:37 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-12 10:02:51 +05:30
2026-06-10 10:50:19 +05:30
2026-06-12 20:02:33 +05:30
2026-06-12 20:02:33 +05:30
2026-04-18 00:41:21 +05:30
2026-03-05 12:09:27 +08:00
2026-04-15 16:03:19 +05:30
2026-03-12 00:31:05 +05:30
2026-02-17 18:44:14 +05:30
2026-02-11 10:19:26 +05:30
2026-04-15 16:03:19 +05:30
2026-05-16 11:52:30 -07:00
2026-04-18 12:18:18 +05:30
2026-04-15 16:03:19 +05:30
2026-03-26 13:59:07 +05:30
2026-04-26 16:12:19 +05:30
2026-03-03 23:44:07 +05:30
2026-02-11 10:19:26 +05:30
2026-03-01 18:11:00 +05:30
2026-06-10 10:49:43 +05:30
2026-06-10 10:49:43 +05:30
2026-06-10 10:49:43 +05:30
2026-06-09 15:30:52 +02:00
2026-06-09 15:34:21 +02:00
2026-03-12 00:31:05 +05:30
2026-03-20 00:28:48 +05:30
2026-03-14 20:31:43 +05:30
2026-03-15 01:33:59 +05:30
2026-04-15 16:03:19 +05:30
2026-04-07 00:29:06 +05:30
2026-04-18 00:41:21 +05:30
2026-02-24 08:31:41 +05:30
2026-02-11 10:19:26 +05:30
2026-03-13 15:46:08 +05:30
2026-02-25 08:55:38 +05:30
2026-04-28 13:58:59 +05:30
2026-04-07 16:11:36 +05:30
2026-02-25 08:55:38 +05:30
2026-03-18 19:03:49 +05:30
2026-04-28 13:58:59 +05:30
2026-04-26 16:12:19 +05:30
2026-04-26 16:12:19 +05:30
2026-04-28 13:58:59 +05:30
2026-04-26 16:12:19 +05:30
2026-04-18 00:41:21 +05:30
2026-04-25 23:24:00 +05:30
2026-04-25 23:29:36 +05:30
2026-05-28 00:21:39 +05:30
2026-05-28 00:37:49 +05:30
2026-05-28 00:56:06 +05:30
2026-06-04 00:26:46 +05:30
2026-06-04 00:22:31 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-04-28 13:58:59 +05:30
2026-04-13 20:27:27 +05:30
2026-02-18 16:53:56 +05:30
2026-04-14 12:47:15 +05:30
2026-04-18 12:18:18 +05:30
2026-06-09 10:16:49 +05:30
2026-06-05 07:14:35 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-06-05 07:14:34 +05:30
2026-02-11 19:02:01 +05:30
2026-03-01 18:11:00 +05:30
2026-06-04 00:23:40 +05:30
2026-04-08 10:57:35 +05:30
2026-04-19 00:09:24 +05:30
2026-04-19 00:09:24 +05:30
2026-03-01 18:11:00 +05:30
2026-03-01 18:11:00 +05:30
2026-03-04 19:00:13 +05:30
2026-06-04 00:23:40 +05:30
2026-04-18 00:41:21 +05:30
2026-04-18 00:41:21 +05:30
2026-03-17 09:31:28 +05:30
2026-04-18 00:41:21 +05:30
2026-03-12 22:55:13 +05:30
2026-03-13 17:25:53 +05:30
2026-03-01 18:11:00 +05:30
2026-03-11 19:19:27 +05:30
2026-03-01 18:11:00 +05:30
2026-02-24 08:31:41 +05:30
2026-04-21 15:58:49 +05:30
2026-04-11 16:03:33 +05:30
2026-04-11 15:24:09 +05:30
2026-02-23 23:34:13 +05:30
2026-02-28 22:17:31 +05:30
2026-04-18 00:41:21 +05:30
2026-04-18 00:41:21 +05:30
2026-04-15 16:03:19 +05:30
2026-06-04 02:21:11 +05:30
2026-03-13 13:07:33 +05:30
2026-04-18 00:41:21 +05:30
2026-04-13 20:27:27 +05:30
2026-04-18 12:18:18 +05:30
2026-04-18 12:18:18 +05:30
2026-04-15 16:03:19 +05:30
2026-05-28 11:51:49 +05:30
2026-04-14 12:47:15 +05:30
2026-04-12 03:18:06 +05:30
2026-04-12 03:18:06 +05:30
2026-03-25 15:02:18 +05:30
2026-04-30 23:08:03 +05:30
2026-04-14 12:47:15 +05:30
2026-06-06 11:19:01 +05:30
2026-03-17 02:40:58 +05:30
2026-04-15 00:51:09 +05:30
2026-04-15 00:51:09 +05:30
2026-04-15 16:03:19 +05:30
2026-03-25 15:33:52 +05:30
2026-03-14 00:34:43 +05:30
2026-03-14 00:34:43 +05:30
2026-03-26 13:59:07 +05:30
2026-03-14 00:34:43 +05:30
2026-03-14 00:34:43 +05:30
2026-03-14 00:34:43 +05:30
2026-02-17 18:29:31 +05:30
2026-04-18 11:49:16 +05:30
2026-04-15 16:03:19 +05:30
2026-04-18 11:49:16 +05:30
2026-04-18 11:49:16 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-08 10:56:12 +05:30
2026-06-09 10:16:49 +05:30
2026-06-09 10:16:49 +05:30
2026-06-08 11:10:33 +05:30
2026-06-08 10:56:12 +05:30