public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup v3 0/5] improve compression throughput
@ 2024-08-05  9:24 Dominik Csapak
  2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 1/5] remove data blob writer Dominik Csapak
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Dominik Csapak @ 2024-08-05  9:24 UTC (permalink / raw)
  To: pbs-devel

in my tests (against current master) it improved the throughput if
the source/target storage is fast enough (tmpfs -> tmpfs):

Type                master (MiB/s)   with my patches (MiB/s)
.img file           ~614             ~767
pxar one big file   ~657             ~807
pxar small files    ~576             ~627

(these results are also in the relevant commit message)

It would be great, if someone else can cross check my results here.
Note: the the pxar code being faster than the img code seems to stem
from better multithreading pipelining in that code or in tokio (pxar
codepath scales more directly with more cores than the .img codepath)

changes from v2:
* use zstd_safe instead of zstd so we have access to the underlying
  error code
* add test for the error code handling since that's not part of the
  public zstd api, only an implementation detail (albeit one that's
  not likely to change soon)
* seperated the tests for the decode(encode()) roundtrip so a failure
  can more easily assigned to a specific codepath

changes from v1:
* reorder patches so that the data blob writer removal is the first one
* add tests for DataBlob that we can decode what we encoded
  (to see that my patches don't mess up the chunk generation)
* add new patch to cleanup the `encode` function a bit

Dominik Csapak (5):
  remove data blob writer
  datastore: test DataBlob encode/decode roundtrip
  datastore: data blob: add helper and test for checking zstd_safe error
    code
  datastore: data blob: increase compression throughput
  datastore: DataBlob encode: simplify code

 Cargo.toml                            |   1 +
 pbs-datastore/Cargo.toml              |   1 +
 pbs-datastore/src/data_blob.rs        | 193 ++++++++++++++++-------
 pbs-datastore/src/data_blob_writer.rs | 212 --------------------------
 pbs-datastore/src/lib.rs              |   2 -
 tests/blob_writer.rs                  | 105 -------------
 6 files changed, 144 insertions(+), 370 deletions(-)
 delete mode 100644 pbs-datastore/src/data_blob_writer.rs
 delete mode 100644 tests/blob_writer.rs

-- 
2.39.2



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-08-08  6:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-05  9:24 [pbs-devel] [PATCH proxmox-backup v3 0/5] improve compression throughput Dominik Csapak
2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 1/5] remove data blob writer Dominik Csapak
2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 2/5] datastore: test DataBlob encode/decode roundtrip Dominik Csapak
2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 3/5] datastore: data blob: add helper and test for checking zstd_safe error code Dominik Csapak
2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 4/5] datastore: data blob: increase compression throughput Dominik Csapak
2024-08-05  9:32   ` Dominik Csapak
2024-08-05  9:24 ` [pbs-devel] [PATCH proxmox-backup v3 5/5] datastore: DataBlob encode: simplify code Dominik Csapak
2024-08-07 17:06 ` [pbs-devel] applied-series: [PATCH proxmox-backup v3 0/5] improve compression throughput Thomas Lamprecht
2024-08-08  6:53   ` Dominik Csapak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal