Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752659AbXE2XcZ (ORCPT ); Tue, 29 May 2007 19:32:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751030AbXE2XcR (ORCPT ); Tue, 29 May 2007 19:32:17 -0400 Received: from dhazelton.dsl.enter.net ([216.193.185.50]:50982 "EHLO mail" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751094AbXE2XcQ (ORCPT ); Tue, 29 May 2007 19:32:16 -0400 From: Daniel Hazelton To: "Nitin Gupta" Subject: Re: [RFC] LZO de/compression support - take 6 Date: Tue, 29 May 2007 19:32:03 -0400 User-Agent: KMail/1.9.6 Cc: "Bret Towe" , lkml , linux-mm-cc@laptop.org, linuxcompressed-devel@lists.sourceforge.net, "Andrew Morton" , "Richard Purdie" , "Satyam Sharma" References: <4cefeab80705280734i37df1742k6738cd4200813684@mail.gmail.com> <4cefeab80705282258p570c649aja5a60b82f63c2440@mail.gmail.com> In-Reply-To: <4cefeab80705282258p570c649aja5a60b82f63c2440@mail.gmail.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_0fLXGFNCYxniFoy" Message-Id: <200705291932.04255.dhazelton@enter.net> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 39499 Lines: 529 --Boundary-00=_0fLXGFNCYxniFoy Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline I just noticed a bug in my testbed/benchmarking code. It's fixed, but I decided to compare version 6 of the code against the *unsafe* decompressor again. The results of the three runs I've put it through after changing it to compare against the unsafe decompressor were startling. `Tiny's` compressor is still faster - I've seen it be rated up to 3% faster. The decompressor, OTOH, when compared to the unsafe version (which is the comparison that started me on this binge of hacking), is more than 7% worse. About 11% slower on the original test against a C source file, and about 6% slower for random data. However, looking at the numbers involved, I can't see a reason to keep the unsafe version around - the percentages look worse than they are - from 1 to 3 microseconds. (well, the compressed-cache people might want those extra usecs - but the difference will never be noticeable anywhere outside the kernel) DRH --Boundary-00=_0fLXGFNCYxniFoy Content-Type: application/x-tbz; name="lzo1x-test-6a.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lzo1x-test-6a.tar.bz2" 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 bUWqt/lqVyhG9qZ/d4vl+2zCV3ncIrxlKWtnSkW8uWCiy+q2lHZHff5j0M2f42DyuLtdSehwR8TY YvxVYMSKN65VLoUbkm1cRaxp+xU0pzejCbV5FP31HUrspHzKc1T9xT2qxXZTj4E+l7PrzMslqxTv KwhyXYaW9hxmn1ItBZkNwJR17O7FrcII1la2PFoemjaSSPjJSZe1zm8+YtUFr51aclYe9jPzvlcm zdwnZUxXysY+pKcyWTqWqsGC3juepz07apm9pQxSiUoYsfTZFPXOTopeYvY0YlYuq7eunbZndjJz N5Yqjs5MpJnU1OEeMsp8jxOCw9eLVwyToRns2zopw7ti9Jzb227Nnp1WfLs88c3PuIvtWbMzO46y q0ninRxZ8/Rw02OKL5RkVT1zuc3txHmtOKmDLnzI4uLk9lagxcb0G40fm7alKvdu8hSMGyygfz2o 3VmGB1+JzziNxLNEdZu59xFFix3lXYeIRzwVgV8OFLVW0ByLOCgn2offMRbXQ1UGup3+cnQcQiNg WG2GxzYI3PnCtZtUIuaAQphX3Tch3ajCuTAkaEzpo9ByGaTkOMDMbBHOBms9O1zZoXKs3DTWGxF2 pRxVvM7FLQVhmU0bFdRQ6ury7jc1mlpSjszW1LTSd2DQizgzJx4RCZB2m4DOGkIUeBkUfe48i7UH Q4Or9KEUMMOkisE9UQgZFVEgjGKkBSIfXsqa0LFkRjvUlVgiRDcWhhRSR5xKz/oP41vuOpg6wIK6 mENFRfurok/y7Ekf6xXi6eDhJuObiJOxKKiAjEIwITg/YPCsaKuK+yw4DJpo+joWEM33xFms/7p8 w44gtZw7n4EsUa/m2YNdlFy7FKxbc26dOpZMWkwd7eWSPt9Mh1lEiyhUiFiWWBUlPXmPjEHzHPSA 9bFfOZlBIB5/EUdcSiJUJExbVWMUwVz+vbS02VWYeXxeDxfxFPFyrDMFq7EkeRJFWfYndKf4kNgX +aiNqUOwfMPIL8R5VCixQ4fxigklYozpVQ7m1scBmS0fqVVRycIsKrCUV+P+Lq+/Vr6/V8eXO5Do HBtGvMUHyCXyCy1xaRXd7rUuPRgbRmMHx3eLQ7tj6NW1MsVzT2auELLmdeY46uXLp6enL5Wh3NJY OlQ0udVqSOGqVi5JsVwyi6sdxMG5WjjcsUvrfJFlIcZyhMIt5lWlVKM6xxZ+foxMc8JaVI6nU7Ny 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 --Boundary-00=_0fLXGFNCYxniFoy-- - 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/