2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-18 11:05:18 +00:00
restic/internal/restorer
Michael Eischer 6f53ecc1ae adapt workers based on whether an operation is CPU or IO-bound
Use runtime.GOMAXPROCS(0) as worker count for CPU-bound tasks,
repo.Connections() for IO-bound task and a combination if a task can be
both. Streaming packs is treated as IO-bound as adding more worker
cannot provide a speedup.

Typical IO-bound tasks are download / uploading / deleting files.
Decoding / Encoding / Verifying are usually CPU-bound. Several tasks are
a combination of both, e.g. for combined download and decode functions.
In the latter case add both limits together. As the backends have their
own concurrency limits restic still won't download more than
repo.Connections() files in parallel, but the additional workers can
decode already downloaded data in parallel.
2022-07-03 12:19:26 +02:00
..
doc.go Fix typos reported by misspell 2020-10-06 14:55:13 +02:00
filerestorer_test.go adapt workers based on whether an operation is CPU or IO-bound 2022-07-03 12:19:26 +02:00
filerestorer.go adapt workers based on whether an operation is CPU or IO-bound 2022-07-03 12:19:26 +02:00
fileswriter_test.go restorer: pre-allocate files before loading chunks 2020-09-07 21:41:47 +02:00
fileswriter.go Add more error handling 2021-01-30 20:19:47 +01:00
preallocate_darwin.go Use FcntlFstore to preallocate on Mac 2021-04-10 16:54:07 +02:00
preallocate_linux.go restorer: pre-allocate files before loading chunks 2020-09-07 21:41:47 +02:00
preallocate_other.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
preallocate_test.go restorer: Skip preallocate test if not supported by the filesystem 2021-03-04 20:33:46 +01:00
restorer_test.go repository: Rework blob saving to use an async pack uploader 2022-07-02 22:42:34 +02:00
restorer_unix_test.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
restorer.go adapt workers based on whether an operation is CPU or IO-bound 2022-07-03 12:19:26 +02:00