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
next prev parent 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