All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neal Gompa <ngompa13@gmail.com>
To: Amy Parker <enbyamy@gmail.com>
Cc: Btrfs BTRFS <linux-btrfs@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: Adding LZ4 compression support to Btrfs
Date: Thu, 25 Feb 2021 08:18:53 -0500	[thread overview]
Message-ID: <CAEg-Je-Hs3+F9yshrW2MUmDNTaN-y6J-YxeQjneZx=zC5=58JA@mail.gmail.com> (raw)
In-Reply-To: <CAE1WUT53F+xPT-Rt83EStGimQXKoU-rE+oYgcib87pjP4Sm0rw@mail.gmail.com>

On Wed, Feb 24, 2021 at 11:10 PM Amy Parker <enbyamy@gmail.com> wrote:
>
> The compression options in Btrfs are great, and help save a ton of
> space on disk. Zstandard works extremely well for this, and is fairly
> fast. However, it can heavily reduce the speed of quick disks, does
> not work well on lower-end systems, and does not scale well across
> multiple cores. Zlib is even slower and worse on compression ratio,
> and LZO suffers on both the compression ratio and speed.
>
> I've been laying out my plans for a backup software recently, and
> stumbled upon LZ4. Tends to hover around LZO compression ratios.
> Performs better than Zstandard and LZO slightly for compression - but
> significantly outpaces them on decompression, which matters
> significantly more for users:
>
> zstd 1.4.5:
>  - ratio 2.884
>  - compression 500 MiB/s
>  - decompression 1.66 GiB/s
> zlib 1.2.11:
>  - ratio 2.743
>  - compression 90 MiB/s
>  - decompression 400 MiB/s
> lzo 2.10:
>  - ratio 2.106
>  - compression 690 MiB/s
>  - decompression 820 MiB/s
> lz4 1.9.2:
>  - ratio 2.101
>  - compression 740 MiB/s
>  - decompression 4.5 GiB/s
>
> LZ4's speeds are high enough to allow many applications which
> previously declined to use any compression due to speed to increase
> their possible space while keeping fast write and especially read
> access.
>
> What're thoughts like on adding something like LZ4 as a compression
> option in btrfs? Is it feasible given the current implementation of
> compression in btrfs?

This is definitely possible. I think the only reason lz4 isn't enabled
for Btrfs has been the lack of interest in it. I'd defer to some of
the kernel folks (I'm just a user and integrator myself), but I think
that's definitely worth having lz4 compression supported.



-- 
真実はいつも一つ!/ Always, there's only one truth!

  reply	other threads:[~2021-02-25 13:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-24 22:50 Adding LZ4 compression support to Btrfs Amy Parker
2021-02-25 13:18 ` Neal Gompa [this message]
2021-02-25 13:26   ` David Sterba
2021-02-25 18:50     ` Eric Biggers
2021-02-26  3:54       ` Gao Xiang
2021-02-26  9:36       ` David Sterba
2021-02-26 11:28         ` Gao Xiang
2021-02-26 13:11           ` Gao Xiang
2021-02-26 14:12           ` David Sterba
2021-02-26 14:35             ` Gao Xiang
2021-02-26 16:39         ` Eric Biggers
2021-03-05 13:55           ` David Sterba
     [not found]     ` <CAPkEcwjcRgnaWLmqM1jEvH5A9PijsQEY5BKFyKdt_+TeugaJ_g@mail.gmail.com>
2021-02-25 23:18       ` Amy Parker
2021-02-26  0:21         ` Neal Gompa
2021-02-25 13:32   ` Filipe Manana

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEg-Je-Hs3+F9yshrW2MUmDNTaN-y6J-YxeQjneZx=zC5=58JA@mail.gmail.com' \
    --to=ngompa13@gmail.com \
    --cc=enbyamy@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.