From 55028cac079b7bf55189620417f569ebf3744638 Mon Sep 17 00:00:00 2001 From: Connor Tsui Date: Thu, 29 Oct 2026 16:29:18 -0400 Subject: [PATCH] Reduce syscall noise in Python scan benchmarks Signed-off-by: Connor Tsui --- .github/workflows/codspeed.yml | 3 +++ vortex-python/benchmark/conftest.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codspeed.yml b/.github/workflows/codspeed.yml index 71e5442e05a..1412a0a2e59 100644 --- a/.github/workflows/codspeed.yml +++ b/.github/workflows/codspeed.yml @@ -185,6 +185,9 @@ jobs: uses: CodSpeedHQ/action@78102a468f96d8e0ccb92d0ec49425753fc42062 # v5 env: VORTEX_BENCH_DATA_DIR: ${{ runner.temp }}/vortex-bench-data + # Drive scans on the calling thread. Background workers wake every 100 ms to check + # for shutdown. Under simulation, those timer wakeups can dominate the measured work. + VORTEX_MAX_THREADS: "0" with: run: cd vortex-python && uv run --all-packages --no-sync pytest benchmark/ --codspeed token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/vortex-python/benchmark/conftest.py b/vortex-python/benchmark/conftest.py index 329ed9beaf9..d5e65b39c96 100644 --- a/vortex-python/benchmark/conftest.py +++ b/vortex-python/benchmark/conftest.py @@ -18,4 +18,5 @@ def vxf( directory = os.environ.get("VORTEX_BENCH_DATA_DIR") path = data.write(Path(directory) if directory else tmp_path_factory.getbasetemp() / "data", request.param) - return vx.open(str(path)) + # Measure scan and decode CPU work without dispatching file reads to IO threads. + return vx.open(str(path), memory_map=True)