arrow_backRetour aux issues
borgbackup/borg
#10160
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
borg2: benchmarking needed
ecoDébutant
help wanted
c: chunker
c: compression
descriptionDescription
borg2 (master branch) zstd compression and chunkers got quite some tuning recently, but it depends a lot on the CPU of the host system.
I did not implement a mechanism to choose the fastest algorithm based on the platform (might be wrong, new cpus might be better/different than old ones) or even a realtime measurement (might be wrong also, due to other activity on the machine). It just uses env vars now.
You can help by doing some measurements on your machine(s) - x86-64, arm64 and also others (others will run the generic code that works on any platform). Try to have a relatively idle machine.
Currently, you will need a master branch build. After 2.0.0b23 is released, you can also use that.
These are some command lines that can be used for benchmarking, I put a comment into the line I consider fastest currently:
```
# Compression Multithreading - only zstd performance is interesting here.
# All CPU types (4 workers might make most sense for 2MiB chunks = 4*512kiB)
BORG_ZSTD_MT_WORKERS=1 borg benchmark cpu --compressing
BORG_ZSTD_MT_WORKERS=2 borg benchmark cpu --compressing
BORG_ZSTD_MT_WORKERS=4 borg benchmark cpu --compressing # fastest!?
BORG_ZSTD_MT_WORKERS=6 borg benchmark cpu --compressing
BORG_ZSTD_MT_WORKERS=8 borg benchmark cpu --compressing
# Normal chunking - only fastcdc and buzhash64 performance is interesting here.
# X86-64 (AMD/Intel)
BORG_FASTCDC_KERNEL=scalar BORG_BUZHASH64_KERNEL=scalar borg benchmark cpu --chunking # fastest!?
BORG_FASTCDC_KERNEL=blockwise BORG_BUZHASH64_KERNEL=blockwise borg benchmark cpu --chunking
BORG_FASTCDC_KERNEL=avx2 BORG_BUZHASH64_KERNEL=avx2 borg benchmark cpu --chunking
BORG_FASTCDC_KERNEL=avx512 BORG_BUZHASH64_KERNEL=avx512 borg benchmark cpu --chunking
# Cryptographic chunking - only the *-aes chunker performance is interesting here.
# X86-64 (AMD/Intel)
BORG_AES_CHUNKER_KERNEL=evp borg benchmark cpu --chunking
BORG_AES_CHUNKER_KERNEL=aes-ni borg benchmark cpu --chunking
BORG_AES_CHUNKER_KERNEL=vaes borg benchmark cpu --chunking # fastest!?
# Normal chunking - only fastcdc and buzhash64 performance is interesting here.
# ARM64 CPUs (incl. Apple Silicon)
BORG_FASTCDC_KERNEL=scalar BORG_BUZHASH64_KERNEL=scalar borg benchmark cpu --chunking
BORG_FASTCDC_KERNEL=blockwise BORG_BUZHASH64_KERNEL=blockwise borg benchmark cpu --chunking
BORG_FASTCDC_KERNEL=neon BORG_BUZHASH64_KERNEL=neon borg benchmark cpu --chunking # fastest!?
# Cryptographic chunking - only the *-aes chunker performance is interesting here.
# ARM64 CPUs (incl. Apple Silicon)
BORG_AES_CHUNKER_KERNEL=evp borg benchmark cpu --chunking
BORG_AES_CHUNKER_KERNEL=aes-arm64 borg benchmark cpu --chunking # fastest!?
```
Issues similaires
calkit/calkit
star53
Poids du dépôt moyen
VS Code extension should be robust to YAML parser errors
Seeing this error: ``` Failed to read calkit.yaml: YAMLParseError: A block sequence may not be used as an implicit map…
Python
bug
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: a manual Refresh control
The dashboard polls: `refreshStats()` (`src/doberman/dash/app.py:408`) every 5 s and `refreshPending()` (`:546`) every …
Python
enhancement
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: "Copy details" button on each pending-approval card
Each pending-approval card in the dashboard (`renderPending`, `src/doberman/dash/app.py:448-544`) shows the risk badge,…
Python
enhancement
good first issue