Commit Graph

15 Commits

Author SHA1 Message Date
Joe Thornber 61de3f9287 [thin_metadata_pack/unpack] Replace C++ implementation with a Rust one.
The Rust implementation is multithreaded, performs better in general and
does custom compression of btree nodes to achieve much better compression
ratios.  unpack also checksums expanded metadata to validate it.

Format version has jumped to 3, no backwards compatibility, but I think
that's ok since we never made a release that contained the C++ version
of these tools.

Benchmarks
==========

On an 8 core, 16 hyperthread machine.

metadata 1G, full:

      Pack size    pack time     unpack time
------------------------------------------------------
C++      193M        50.3s          6.9s (no verify)
Rust      70M         1.4s          1.8s (verify)

metadata 16G, sparse:

       Pack size    pack time     unpack time
------------------------------------------------------
C++      21M          68s           1s   (no verify)
Rust      4M           8.6s         0.5s (verify)
2020-06-09 09:15:00 +01:00
Joe Thornber 3e5de399a7 [functional tests] Remove dependency on the ThunderChez library.
I've just moved the relevant code into the functional-tests dir.
2020-04-30 12:07:42 +01:00
Joe Thornber e03b878df3 [functional tests] Move test output from /tmp to .
tmpfs has trouble with O_DIRECT.
2018-12-12 13:13:11 +00:00
Todd Gill 6046ebd4c4 Add autoconf step to Building instructions (#92)
The configure script doesn't exist until autoconf is run.

Signed-off-by: Todd Gill <tgill@redhat.com>
2018-04-17 10:09:15 +01:00
Robert Northard 0eab1d5676 Correct type readme for thin_restore command (#91) 2018-04-17 10:04:20 +01:00
Joe Thornber 8d303858db fix typo 2017-08-30 16:14:45 +01:00
Joe Thornber 38a9b8c3a9 Update README 2017-08-30 15:56:26 +01:00
Thanos Makatos f162d59bf6 no need to supply held root, thin_dump -m will look it up 2016-03-04 18:30:02 +03:00
Thanos Makatos eac05c1b5d document how to extract thin pool metadata 2016-03-04 18:18:29 +03:00
Joe Thornber efe597f097 [README] Add dep for libaio 2014-08-06 16:29:50 +01:00
Joe Thornber 9716a2cdbd whitespace 2013-06-27 12:44:07 +01:00
Joe Thornber c0b84f39d6 update README 2013-06-27 11:57:57 +01:00
Joe Thornber 9217334935 Update README 2013-06-27 11:57:10 +01:00
Joe Thornber 396055b31a Change how code blocks are quoted in the README 2013-06-27 11:55:57 +01:00
Joe Thornber 3df1d70ba5 Rename the README so github uses markdown when showing it. 2013-06-27 11:50:29 +01:00