Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761384AbXE1JVo (ORCPT ); Mon, 28 May 2007 05:21:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753084AbXE1JVg (ORCPT ); Mon, 28 May 2007 05:21:36 -0400 Received: from keil-draco.com ([216.193.185.50]:50674 "EHLO mail" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752155AbXE1JVf (ORCPT ); Mon, 28 May 2007 05:21:35 -0400 From: Daniel Hazelton To: "Nitin Gupta" Subject: Re: [RFC] LZO de/compression support - take 4 Date: Mon, 28 May 2007 05:21:16 -0400 User-Agent: KMail/1.9.6 Cc: "Satyam Sharma" , "Richard Purdie" , linux-kernel@vger.kernel.org, linux-mm-cc@laptop.org, "Andrew Morton" , "Andrey Panin" , "Bret Towe" , "Michael-Luke Jones" References: <4cefeab80705250445m51736a9aj8c89af893d8c242c@mail.gmail.com> <200705280443.56152.dhazelton@enter.net> <4cefeab80705280208v2cfdd420u82f1d3b157abb6e0@mail.gmail.com> In-Reply-To: <4cefeab80705280208v2cfdd420u82f1d3b157abb6e0@mail.gmail.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_M8pWGCiqYbJTLMH" Message-Id: <200705280521.16795.dhazelton@enter.net> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 38254 Lines: 542 --Boundary-00=_M8pWGCiqYbJTLMH Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 28 May 2007 05:08:54 Nitin Gupta wrote: > On 5/28/07, Daniel Hazelton wrote: > > On Monday 28 May 2007 04:37:04 Nitin Gupta wrote: > > > On 5/28/07, Daniel Hazelton wrote: > > > > > > As you mentioned in your mail, you are using lzo1x_1_11_compress() > > > which is slower than what I ported (which is same as what is exported > > > by miniLZO). So, can you please test with the version ported - this > > > is found in lzo/src/lzo1x_1.c (or in minilzo.c). > > > Also, can you please use 'take 5' for your next testing? > > > > > > Thanks, > > > Nitin > > > > Will do. (that's DBITS=15, correct?) > > That's D_BITS=14 > > > However, when I averaged it 100 times, lzo1x_1_11_compress() showed > > better speed than your implementation - about 1.5% faster. > > I don't yet have any explanation for this. > > > The *unsafe* > > decompressor, however, only shows about a 1.2% speed advantage over the > > safe decompressor. > > > > DRH New testbed based on minilzo complete. Results from run using 1000 runs to generate averages: 1000 run averages: 'Tiny LZO': Combined: 55.196 usec Compression: 37.132 usec Decompression: 18.064 usec 'miniLZO': Combined: 55.785 usec Compression: 40.862 usec Decompression: 14.923 usec (using (tiny/full)/100 for percentages: 'Tiny' is 0.9% faster on average Same for the Compression 'safe' decompressor from tiny is 1.2% slower than unsafe from minilzo) Newer version attached - same TODO items as the previous. DRH --Boundary-00=_M8pWGCiqYbJTLMH Content-Type: application/x-tbz; name="lzo1x-test-2.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lzo1x-test-2.tar.bz2" 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 06Kd2GN5q7nVy5OFv85qRH//F3JFOFCQrF1jlA== --Boundary-00=_M8pWGCiqYbJTLMH-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/