chunk size | chunk count | AIO writer test | AIO reader test | Thread writer test | Thread reader test |
---|---|---|---|---|---|
1048576 | 200 | 300 ms ± 4.46 ms per loop | 283 ms ± 2.57 ms per loop | 296 ms ± 15.1 ms per loop | 288 ms ± 13.7 ms per loop |
1048576 | 100 | 156 ms ± 8.59 ms per loop | 141 ms ± 527 μs per loop | 138 ms ± 3.18 ms per loop | 141 ms ± 1.29 ms per loop |
327680 | 100 | 58.1 ms ± 1.03 ms per loop | 45.5 ms ± 217 μs per loop | 56.7 ms ± 2.69 ms per loop | 54.7 ms ± 2.24 ms per loop |
32768 | 1000 | 71.2 ms ± 1.01 ms per loop | 60.5 ms ± 228 μs per loop | 54.8 ms ± 3.22 ms per loop | 57.9 ms ± 2.01 ms per loop |
1024 | 100 | 3.53 ms ± 93.6 μs per loop | 2.01 ms ± 38.3 μs per loop | 532 μs ± 65.7 μs per loop | 486 μs ± 4.32 μs per loop |
-
-
Save iAnanich/6dcb446575d26cd158440d4051f9eaf5 to your computer and use it in GitHub Desktop.
aiofile Benchmark
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CPU: AMD Ryzen 3600 | |
SSD: Samsung 980 500GB | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
Python 3.12.3 | |
aiofile Version: 3.8.8 | |
type(loop)=<class 'asyncio.unix_events._UnixSelectorEventLoop'> | |
==================================================================================================== | |
CHUNK_SIZE=327680 | |
CHUNK_COUNT=100 | |
len(PAYLOAD)=32768000 | |
================== | |
================== | |
Thread writer test | |
56.7 ms ± 2.69 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
Thread reader test | |
54.7 ms ± 2.24 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
AIO writer test | |
58.1 ms ± 1.03 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
AIO reader test | |
45.5 ms ± 217 μs per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
==================================================================================================== | |
CHUNK_SIZE=1024 | |
CHUNK_COUNT=100 | |
len(PAYLOAD)=102400 | |
================== | |
================== | |
Thread writer test | |
532 μs ± 65.7 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each) | |
================== | |
================== | |
Thread reader test | |
486 μs ± 4.32 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each) | |
================== | |
================== | |
AIO writer test | |
3.53 ms ± 93.6 μs per loop (mean ± std. dev. of 7 runs, 100 loops each) | |
================== | |
================== | |
AIO reader test | |
2.01 ms ± 38.3 μs per loop (mean ± std. dev. of 7 runs, 100 loops each) | |
================== | |
==================================================================================================== | |
CHUNK_SIZE=32768 | |
CHUNK_COUNT=1000 | |
len(PAYLOAD)=32768000 | |
================== | |
================== | |
Thread writer test | |
54.8 ms ± 3.22 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
Thread reader test | |
57.9 ms ± 2.01 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
AIO writer test | |
71.2 ms ± 1.01 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
AIO reader test | |
60.5 ms ± 228 μs per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
==================================================================================================== | |
CHUNK_SIZE=1048576 | |
CHUNK_COUNT=100 | |
len(PAYLOAD)=104857600 | |
================== | |
================== | |
Thread writer test | |
138 ms ± 3.18 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
Thread reader test | |
141 ms ± 1.29 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
================== | |
AIO writer test | |
156 ms ± 8.59 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) | |
================== | |
================== | |
AIO reader test | |
141 ms ± 527 μs per loop (mean ± std. dev. of 7 runs, 10 loops each) | |
================== | |
==================================================================================================== | |
CHUNK_SIZE=1048576 | |
CHUNK_COUNT=200 | |
len(PAYLOAD)=209715200 | |
================== | |
================== | |
Thread writer test | |
296 ms ± 15.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) | |
================== | |
================== | |
Thread reader test | |
288 ms ± 13.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) | |
================== | |
================== | |
AIO writer test | |
300 ms ± 4.46 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) | |
================== | |
================== | |
AIO reader test | |
283 ms ± 2.57 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) | |
================== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment