I started some experimental multithreading code there:
https://github.com/thomaswaldmann/borg/tree/multithreading
especially:
ThomasWaldmann@240a27a
From Python c-api docs:
"the standard zlib and hashlib modules release the GIL when compressing or hashing data."
So current compression and hashing should be ok for good multithreading, as well as python's I/O (it releases GIL before I/O ops).
Additionally, later changesets implement code to release the GIL there:
- chunker
- crypto
- lz4 compression
💰 there is a bounty for this
I started some experimental multithreading code there:
https://github.com/thomaswaldmann/borg/tree/multithreading
especially:
ThomasWaldmann@240a27a
From Python c-api docs:
"the standard zlib and hashlib modules release the GIL when compressing or hashing data."
So current compression and hashing should be ok for good multithreading, as well as python's I/O (it releases GIL before I/O ops).
Additionally, later changesets implement code to release the GIL there:
💰 there is a bounty for this