borg-benchmark-cpu(1)

Name
borg-benchmark-cpu - Benchmark CPU-bound operations.

SYNOPSIS

borg [common options] benchmark cpu [options]

DESCRIPTION

This command benchmarks miscellaneous CPU-bound Borg operations.

It creates input data in memory, runs the operation and then displays throughput. To reduce outside influence on the timings, please make sure to run this with:

•   an otherwise as idle as possible machine

•   enough free memory so there will be no slow down due to paging activity

    By default all benchmarks run. Give one or more of --chunking, --hashing, --encrypting, --compressing, --msgpacking to run only those.

    Some algorithms use multiple threads only above a size threshold, so the hashes and the compressors are measured at more than one buffer size: the hashes at 64MiB (a borg pack) and 2MiB (a typical borg chunk), both above blake3's threshold, the compressors at 2MiB and 128kiB, which is below zstd's. Within a section every row processes the same total number of bytes - 1 GiB, or 10 MiB for the compressors - so the throughput column is comparable between rows.

    The compressors work on synthetic text-like data that compresses about 4x at zstd,3. Random data would be the worst possible input: no codec can compress it, so all of them would take their incompressible fast path and the levels would barely differ.

OPTIONS

See borg-common(1) for common options of Borg commands.

  options

--json
    format output as JSON

--chunking
    benchmark the chunkers

--hashing
    benchmark the hashes / MACs

--encrypting
    benchmark the encryption modes

--compressing
    benchmark the compressors

--msgpacking
    benchmark msgpack item packing

SEE ALSO

borg-common(1)

Author
The Borg Collective