This benchmark is test against the opendal and aws python sdk.
To run the benchmark, please make sure the following env have been set correctly.
To run the benchmark:
maturin develop -r -E=benchmark export AWS_ENDPOINT=http://127.0.0.1:9000 export AWS_REGION=us-east-1 export AWS_ACCESS_KEY_ID=minioadmin export AWS_SECRET_ACCESS_KEY=minioadmin export AWS_S3_BUCKET=opendal uv run async_opendal_benchmark.py uv run async_origin_s3_benchmark_with_gevent.py
blocking_gil_benchmark.py uses a local HTTP subprocess with a configurable response delay, so it does not require service credentials. It reports the median and p95 latency for one blocking read, two sequential reads, and two reads started from independent Python threads.
From bindings/python, build the binding from the revision to measure, then run:
uv run maturin develop --release uv run benchmark/blocking_gil_benchmark.py \ --delay-ms 50 --iterations 30 --warmups 3
Run the same command from an unchanged baseline checkout to compare single-thread overhead and concurrency speedup with identical local I/O.