Skip to content

Commit 1f9efb1

Browse files
authored
Update performance numbers (#307)
1 parent 90235cb commit 1f9efb1

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The simplest, highest-throughput [^1] Python interface to [S3][s3], [GCS][gcs],
3030

3131
<!-- For Rust developers looking to add object_store support to their Python packages, refer to pyo3-object_store. -->
3232

33-
[^1]: Benchmarking is currently ongoing, but [early results](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/2d8ee4df8c2d93463323394f09fd094ad0381122/test_results/cog_header_results.csv) indicate 9x higher throughput than aioboto3 and fsspec.
33+
[^1]: Benchmarking is ongoing, but preliminary results indicate roughly [9x higher throughput than fsspec](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/fe8f290cb3282dcc3bc96cae06ed5f90ad326eff/test_results/cog_header_results.csv) and [2.8x higher throughput than aioboto3](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/40e67509a248c5102a6b1608bcb9773295691213/test_results/20250218_results/ec2_m5/aggregated_results.csv) for many concurrent, small, get requests from an async context.
3434

3535
## Installation
3636

docs/performance.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ Let's consider the areas where we expect improved, possibly-improved, and equal
3434

3535
**Many-request throughput with the asynchronous API** is the primary place where we expect significantly improved performance. Especially when making many requests of relatively small files, we find that obstore can provide significantly higher throughput.
3636

37-
For example, [preliminary results](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/fe8f290cb3282dcc3bc96cae06ed5f90ad326eff/test_results/cog_header_results.csv) indicate roughly 9x higher throughput than aioboto3 and fsspec. That specific benchmark considered fetching the first 16KB of a file many times.
37+
For example, preliminary results indicate roughly [9x higher throughput than fsspec](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/fe8f290cb3282dcc3bc96cae06ed5f90ad326eff/test_results/cog_header_results.csv) and [2.8x higher throughput than aioboto3](https://github.com/geospatial-jeff/pyasyncio-benchmark/blob/40e67509a248c5102a6b1608bcb9773295691213/test_results/20250218_results/ec2_m5/aggregated_results.csv). That specific benchmark considered fetching the first 16KB of a file many times from an async context.
3838

3939
## Possibly improved performance
4040

41-
**Using the synchronous API**. We haven't benchmarked the synchronous API However, we do release the Python [GIL](https://en.wikipedia.org/wiki/Global_interpreter_lock) for all synchronous operations, so it may perform better in a thread pool than other Python request libraries.
41+
**Using the synchronous API**. We haven't benchmarked the synchronous API. However, we do release the Python [Global Interpreter Lock (GIL)](https://en.wikipedia.org/wiki/Global_interpreter_lock) for all synchronous operations, so it may perform better in a thread pool than other Python request libraries.
4242

4343
## Equal performance
4444

0 commit comments

Comments
 (0)