public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Masover <ninja@slaphack.com>
To: Nigel Cunningham <ncunningham@linuxmail.org>
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>,
	Edward Shishkin <edward@namesys.com>,
	Stefan Traby <stefan@hello-penguin.com>,
	Hans Reiser <reiser@namesys.com>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	reiserfs-list@namesys.com, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@osdl.org>
Subject: Re: Reiser4 und LZO compression
Date: Tue, 29 Aug 2006 03:23:47 -0500	[thread overview]
Message-ID: <44F3F993.3000907@slaphack.com> (raw)
In-Reply-To: <1156830102.3790.15.camel@nigel.suspend2.net>

Nigel Cunningham wrote:
> Hi.
> 
> On Tue, 2006-08-29 at 06:05 +0200, Jan Engelhardt wrote:
>>>>>> Hmm.  LZO is the best compression algorithm for the task as measured by
>>>>>> the objectives of good compression effectiveness while still having very
>>>>>> low CPU usage (the best of those written and GPL'd, there is a slightly
>>>>>> better one which is proprietary and uses more CPU, LZRW if I remember
>>>>>> right.  The gzip code base uses too much CPU, though I think Edward made
>>>>> I don't think that LZO beats LZF in both speed and compression ratio.
>>>>>
>>>>> LZF is also available under GPL (dual-licensed BSD) and was choosen in favor
>>>>> of LZO for the next generation suspend-to-disk code of the Linux kernel.
>>>>>
>>>>> see: http://www.goof.com/pcg/marc/liblzf.html
>>>> thanks for the info, we will compare them
>>> For Suspend2, we ended up converting the LZF support to a cryptoapi
>>> plugin. Is there any chance that you could use cryptoapi modules? We
>>> could then have a hope of sharing the support.
>> I am throwing in gzip: would it be meaningful to use that instead? The 
>> decoder (inflate.c) is already there.
>>
>> 06:04 shanghai:~/liblzf-1.6 > l configure*
>> -rwxr-xr-x  1 jengelh users 154894 Mar  3  2005 configure
>> -rwxr-xr-x  1 jengelh users  26810 Mar  3  2005 configure.bz2
>> -rw-r--r--  1 jengelh users  30611 Aug 28 20:32 configure.gz-z9
>> -rw-r--r--  1 jengelh users  30693 Aug 28 20:32 configure.gz-z6
>> -rw-r--r--  1 jengelh users  53077 Aug 28 20:32 configure.lzf
> 
> We used gzip when we first implemented compression support, and found it
> to be far too slow. Even with the fastest compression options, we were
> only getting a few megabytes per second. Perhaps I did something wrong
> in configuring it, but there's not that many things to get wrong!

All that comes to mind is the speed/quality setting -- the number from 1 
to 9.  Recently, I backed up someone's hard drive using -1, and I 
believe I was still able to saturate... the _network_.  Definitely try 
again if you haven't changed this, but I can't imagine I'm the first 
persson to think of it.

 From what I remember, gzip -1 wasn't faster than the disk.  But at 
least for (very) repetitive data, I was wrong:

eve:~ sanity$ time bash -c 'dd if=/dev/zero of=test bs=10m count=10; sync'
10+0 records in
10+0 records out
104857600 bytes transferred in 3.261990 secs (32145287 bytes/sec)

real    0m3.746s
user    0m0.005s
sys     0m0.627s
eve:~ sanity$ time bash -c 'dd if=/dev/zero bs=10m count=10 | gzip -v1 > 
test; sync'
10+0 records in
10+0 records out
104857600 bytes transferred in 2.404093 secs (43616282 bytes/sec)
  99.5%

real    0m2.558s
user    0m1.554s
sys     0m0.680s
eve:~ sanity$



This was on OS X, but I think it's still valid -- this is a slightly 
older Powerbook, with a 5400 RPM drive, 1.6 ghz G4.

-1 is still worlds better than nothing.  The backup was over 15 gigs, 
down to about 6 -- loads of repetitive data, I'm sure, but that's where 
you win with compression anyway.

Well, you use cryptoapi anyway, so it should be easy to just let the 
user pick a plugin, right?

  reply	other threads:[~2006-08-29  8:23 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-27  0:34 Reiser4 und LZO compression Alexey Dobriyan
2006-08-27  8:04 ` Andrew Morton
2006-08-27  8:49   ` Ray Lee
2006-08-27  9:42   ` David Masover
2006-08-28 17:34     ` Jindrich Makovicka
2006-08-28 18:05       ` Edward Shishkin
2006-08-28 12:42   ` Jörn Engel
2006-08-29 13:14   ` PFC
2006-08-29 17:38     ` David Masover
     [not found] ` <44F322A6.9020200@namesys.com>
2006-08-28 17:37   ` Stefan Traby
2006-08-28 18:15     ` Edward Shishkin
2006-08-28 21:48       ` Nigel Cunningham
2006-08-28 23:32         ` Hans Reiser
2006-08-29  4:05         ` Jan Engelhardt
2006-08-29  5:41           ` Nigel Cunningham
2006-08-29  8:23             ` David Masover [this message]
2006-08-29  9:57               ` Nigel Cunningham
2006-08-29 11:09                 ` Ray Lee
2006-08-29 11:38                 ` Edward Shishkin
2006-08-29 22:03                   ` Nigel Cunningham
2006-08-29  4:59         ` Paul Mundt
2006-08-29  5:47           ` Nigel Cunningham
2006-08-29  9:29         ` Edward Shishkin

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=44F3F993.3000907@slaphack.com \
    --to=ninja@slaphack.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@osdl.org \
    --cc=edward@namesys.com \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ncunningham@linuxmail.org \
    --cc=reiser@namesys.com \
    --cc=reiserfs-list@namesys.com \
    --cc=stefan@hello-penguin.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox