public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Hazelton <dhazelton@enter.net>
To: "Nitin Gupta" <nitingupta910@gmail.com>
Cc: "Adrian Bunk" <bunk@stusta.de>,
	lkml <linux-kernel@vger.kernel.org>,
	linux-mm-cc@laptop.org,
	linuxcompressed-devel@lists.sourceforge.net,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Richard Purdie" <richard@openedhand.com>,
	"Bret Towe" <magnade@gmail.com>,
	"Satyam Sharma" <satyam.sharma@gmail.com>
Subject: Re: [RFC] LZO de/compression support - take 6
Date: Mon, 28 May 2007 11:55:14 -0400	[thread overview]
Message-ID: <200705281155.14466.dhazelton@enter.net> (raw)
In-Reply-To: <4cefeab80705280847q62d68ebavd74c5a9d425de0f6@mail.gmail.com>

On Monday 28 May 2007 11:47:55 Nitin Gupta wrote:
> On 5/28/07, Adrian Bunk <bunk@stusta.de> wrote:
> > On Mon, May 28, 2007 at 08:10:31PM +0530, Nitin Gupta wrote:
> > > Hi,
> > >
> > > Attached is tester code used for testing.
> > > (developed by Daniel Hazelton -- modified slightly to now use 'take 6'
> > > version for 'TinyLZO')
> > >
> > > Cheers,
> > > Nitin
> > >
> > > On 5/28/07, Nitin Gupta <nitingupta910@gmail.com> wrote:
> > >> (Using tester program from Daniel)
> > >>
> > >> Following compares this kernel port ('take 6') vs original miniLZO
> > >> code:
> > >>
> > >> 'TinyLZO' refers to this kernel port.
> > >>
> > >> 10000 run averages:
> > >> 'Tiny LZO':
> > >>        Combined: 61.2223 usec
> > >>        Compression: 41.8412 usec
> > >>        Decompression: 19.3811 usec
> > >> 'miniLZO':
> > >>        Combined: 66.0444 usec
> > >>        Compression: 46.6323 usec
> > >>        Decompression: 19.4121 usec
> > >>
> > >> Result:
> > >> Overall: TinyLZO is 7.3% faster
> > >> Compressor: TinyLZO is 10.2% faster
> > >> Decompressor: TinyLZO is 0.15% faster
> >
> > So your the compressor of your version runs 10.2% faster than the
> > original version.
> >
> > That's a huge difference.
> >
> > Why exactly is it that much faster?
> >
> > cu
> > Adrian
>
> I am not sure on how to account for this _big_ perf. gain but from
> benchmarks I see that whenever I remove unncessary casting from tight
> loops I get perf. gain of 1-2%. For e.g. open coding
> LZO_CHECK_MPOS_NON_DET macro with all unnecessary casting removed,
> gave perf. gain of ~2%. Similarly, I found many other places where
> such casting was unnecessary.

This is my guess as well. Though performance will likely drop when I make the 
noinline macro mean something. (This may be offset by figuring out a way to 
make likely() and unlikely() also have a meaningful effect in userspace).

This benchmark should be run on BE machines, but I'm still trying to figure 
out a way to open-code a *fast* and *reliable* version of cpu_to_le16.

Suggestions for the above bits will always be appreciated.
 
> These changes have been tested on x86, amd64, ppc. Testing of 'take 6'
> version is yet to be done - this will confirm that I didn't
> reintroduce some error.

I don't see that 'take 6' has had too much changed from 'take 4', although I 
haven't do a full comparison.

DRH

  reply	other threads:[~2007-05-28 15:55 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-28 14:34 [RFC] LZO de/compression support - take 6 Nitin Gupta
2007-05-28 14:40 ` Nitin Gupta
2007-05-28 14:49   ` Daniel Hazelton
2007-05-28 15:06     ` Nitin Gupta
2007-05-28 15:43       ` Adrian Bunk
2007-05-28 16:03         ` Nitin Gupta
2007-05-28 17:11           ` Adrian Bunk
2007-05-28 19:59             ` Daniel Hazelton
2007-05-28 20:18             ` Daniel Hazelton
2007-05-28 20:52               ` Daniel Hazelton
2007-05-29  5:55             ` Nitin Gupta
2007-05-29  8:08             ` Michael-Luke Jones
2007-05-29 11:40               ` Adrian Bunk
2007-05-29 12:03                 ` Nitin Gupta
2007-05-29 13:13                   ` Daniel Hazelton
2007-05-29 21:10             ` Jan Engelhardt
2007-05-29 21:26               ` Adrian Bunk
2007-05-30  5:31                 ` Nitin Gupta
2007-05-30 13:56                   ` Johannes Stezenbach
2007-05-30 14:24                     ` Satyam Sharma
2007-05-28 15:30   ` Adrian Bunk
2007-05-28 15:47     ` Nitin Gupta
2007-05-28 15:55       ` Daniel Hazelton [this message]
2007-05-28 17:01         ` Adrian Bunk
2007-05-28 19:51           ` Daniel Hazelton
2007-05-28 15:49     ` Daniel Hazelton
2007-05-28 22:57   ` Bret Towe
2007-05-29  5:48     ` Nitin Gupta
2007-05-29 13:09       ` Daniel Hazelton
2007-05-28 22:53 ` Bret Towe
2007-05-28 22:58   ` Bret Towe
2007-05-29  5:58   ` Nitin Gupta
2007-05-29 20:14     ` Daniel Hazelton
2007-05-29 20:33       ` Daniel Hazelton
2007-05-29 21:48         ` Daniel Hazelton
2007-05-29 23:32     ` Daniel Hazelton
2007-05-30  5:19       ` Nitin Gupta
2007-05-29  8:17 ` Makefile question (was [RFC] LZO de/compression support - take 6) Michael-Luke Jones
2007-05-29 10:41   ` Satyam Sharma
2007-05-29 10:51     ` Michael-Luke Jones
2007-05-29 11:27       ` Satyam Sharma
2007-05-29 13:33         ` JFFS2 using 'private' zlib header " Michael-Luke Jones
2007-05-29 13:43           ` Daniel Hazelton
2007-05-29 15:15             ` Satyam Sharma
2007-05-29 16:20               ` Daniel Hazelton
2007-05-30  5:31               ` Mark Adler
2007-05-30 13:05                 ` Daniel Hazelton
2007-05-30 13:30                 ` Satyam Sharma
2007-05-30 23:02                   ` Mark Adler
2007-05-30 23:26                     ` Daniel Hazelton
2007-06-01  3:06                     ` Daniel Hazelton
2007-06-01 17:24                       ` Satyam Sharma
2007-05-30 13:41               ` Artem Bityutskiy
2007-05-30 15:46                 ` Artem Bityutskiy
2007-05-30 16:12                   ` Satyam Sharma
2007-05-30 16:43                     ` Artem Bityutskiy
2007-05-29 20:48 ` [RFC] LZO de/compression support - take 6 Jan Engelhardt
2007-05-30  5:54   ` Nitin Gupta
2007-05-30  8:31     ` Jan Engelhardt
2007-05-30 10:47       ` Nitin Gupta
2007-05-31 12:34 ` Nitin Gupta
2007-05-31 18:21   ` Satyam Sharma

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=200705281155.14466.dhazelton@enter.net \
    --to=dhazelton@enter.net \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm-cc@laptop.org \
    --cc=linuxcompressed-devel@lists.sourceforge.net \
    --cc=magnade@gmail.com \
    --cc=nitingupta910@gmail.com \
    --cc=richard@openedhand.com \
    --cc=satyam.sharma@gmail.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